{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 根据学生基本信息以及学术表现预测考试成绩\n",
    "\n",
    "## 1. 此教程的目地\n",
    "\n",
    "该教程会通过实例对一个现实中的数据集进行完整的分析和处理，步骤包括数据集的探索，前处理，可视化，特征工程，到最后的机器学习建模和预测（逻辑回归），希望可以帮助大家了解什么是数据分析和机器学习。\n",
    "\n",
    "该教程中展示的所有分析步骤基本概括了参加天池平台数据分析和机器学习算法类比赛所需要经历的一个过程，虽然是一个极度简化版的过程，但也希望可以帮助大家入门天池平台的大数据竞赛。\n",
    "\n",
    "**注意：学习此教程需要基础的Python编程知识**\n",
    "\n",
    "## 2. 探索性数据分析(Exploratory Data Analysis)\n",
    "\n",
    "探索性数据分析的目的：\n",
    "\n",
    "1. 确保数据集本身是可用的，包括但不限于：\n",
    "    - a) 检查数据本身是否平衡(balanced or not)，并处理\n",
    "    - b) 检查数据本身是否有缺失值 (missing value)，并处理\n",
    "    - c) 检查数据本身是否有一些明显的异类数据(outlier), 根据情况再做处理\n",
    "\n",
    "2. 检查数据集本身特质，确定适合的机器学习模型（machine learning model）\n",
    "    - a) 有监督模型（Supervised） VS 无监督模型（Unsupervised）\n",
    "    - b) 回归模型（Regression） VS 分类模型（Classification)\n",
    "\n",
    "3. 通过数据可视化，建立一个对于数据集的直觉（intuition）和认知(understanding)\n",
    "\n",
    "4. 通过数据可视化，大致了解特征与结果之间的联系，进一步确定适合的机器学习模型\n",
    "\n",
    "5. 预测并验证未来模型产出的结果\n",
    "\n",
    "6. 对用在模型中的特征做初步的筛选\n",
    "\n",
    "7. 为特征工程（feature engineering）部分做准备\n",
    "\n",
    "**经验：**\n",
    "\n",
    "探索性数据分析本身就是一个伴随未知和不确定性的过程，需要耗费大量的精力。\n",
    "\n",
    "在分析数据前，如果数据分析师对模型和结果所用的业务场景和领域有充分了解，并且目的性清晰明确，会大大缩短分析所用的时间和精力"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 引入库包\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "from sklearn.preprocessing import LabelEncoder\n",
    "from sklearn.metrics import accuracy_score\n",
    "import warnings\n",
    "warnings.filterwarnings('ignore')\n",
    "\n",
    "# 读取数据集，并且存在datafram表结构中，命名为df\n",
    "df = pd.read_csv('StudentPerformance.csv')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 核心库包介绍：\n",
    "\n",
    "Numpy是Python的一个科学计算的库包，提供了矩阵运算的功能\n",
    "\n",
    "pandas 是基于 Numpy 构建的含有更高级数据结构和工具的数据分析包， pandas 是围绕着 Series 和 DataFrame 两个核心数据结构展开的 。Series 和 DataFrame 分别对应于一维的序列和二维的表结构，此教程中只会用到DataFrame这个表结构\n",
    "\n",
    "matplotlib 是Python编程语言及其数值数学扩展包 NumPy的可视化操作界面\n",
    "\n",
    "seaborn是基于matplotlib开发的可视化库包，比matplotlib更加容易使用，而且图例的风格更加现代化\n",
    "\n",
    "## 2. 数据集探索\n",
    "\n",
    "**数据集简介:** 该数据集包含了305个男生和175个女生的基本情况和课堂课外表现的量化数据，最终目的是通过这些特征来预测学生的最终学术评测成绩"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>gender</th>\n",
       "      <th>NationalITy</th>\n",
       "      <th>PlaceofBirth</th>\n",
       "      <th>StageID</th>\n",
       "      <th>GradeID</th>\n",
       "      <th>SectionID</th>\n",
       "      <th>Topic</th>\n",
       "      <th>Semester</th>\n",
       "      <th>Relation</th>\n",
       "      <th>raisedhands</th>\n",
       "      <th>VisITedResources</th>\n",
       "      <th>AnnouncementsView</th>\n",
       "      <th>Discussion</th>\n",
       "      <th>ParentAnsweringSurvey</th>\n",
       "      <th>ParentschoolSatisfaction</th>\n",
       "      <th>StudentAbsenceDays</th>\n",
       "      <th>Class</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>M</td>\n",
       "      <td>KW</td>\n",
       "      <td>KuwaIT</td>\n",
       "      <td>lowerlevel</td>\n",
       "      <td>G-04</td>\n",
       "      <td>A</td>\n",
       "      <td>IT</td>\n",
       "      <td>F</td>\n",
       "      <td>Father</td>\n",
       "      <td>15</td>\n",
       "      <td>16</td>\n",
       "      <td>2</td>\n",
       "      <td>20</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Good</td>\n",
       "      <td>Under-7</td>\n",
       "      <td>M</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>M</td>\n",
       "      <td>KW</td>\n",
       "      <td>KuwaIT</td>\n",
       "      <td>lowerlevel</td>\n",
       "      <td>G-04</td>\n",
       "      <td>A</td>\n",
       "      <td>IT</td>\n",
       "      <td>F</td>\n",
       "      <td>Father</td>\n",
       "      <td>20</td>\n",
       "      <td>20</td>\n",
       "      <td>3</td>\n",
       "      <td>25</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Good</td>\n",
       "      <td>Under-7</td>\n",
       "      <td>M</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>M</td>\n",
       "      <td>KW</td>\n",
       "      <td>KuwaIT</td>\n",
       "      <td>lowerlevel</td>\n",
       "      <td>G-04</td>\n",
       "      <td>A</td>\n",
       "      <td>IT</td>\n",
       "      <td>F</td>\n",
       "      <td>Father</td>\n",
       "      <td>10</td>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "      <td>30</td>\n",
       "      <td>No</td>\n",
       "      <td>Bad</td>\n",
       "      <td>Above-7</td>\n",
       "      <td>L</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>M</td>\n",
       "      <td>KW</td>\n",
       "      <td>KuwaIT</td>\n",
       "      <td>lowerlevel</td>\n",
       "      <td>G-04</td>\n",
       "      <td>A</td>\n",
       "      <td>IT</td>\n",
       "      <td>F</td>\n",
       "      <td>Father</td>\n",
       "      <td>30</td>\n",
       "      <td>25</td>\n",
       "      <td>5</td>\n",
       "      <td>35</td>\n",
       "      <td>No</td>\n",
       "      <td>Bad</td>\n",
       "      <td>Above-7</td>\n",
       "      <td>L</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>M</td>\n",
       "      <td>KW</td>\n",
       "      <td>KuwaIT</td>\n",
       "      <td>lowerlevel</td>\n",
       "      <td>G-04</td>\n",
       "      <td>A</td>\n",
       "      <td>IT</td>\n",
       "      <td>F</td>\n",
       "      <td>Father</td>\n",
       "      <td>40</td>\n",
       "      <td>50</td>\n",
       "      <td>12</td>\n",
       "      <td>50</td>\n",
       "      <td>No</td>\n",
       "      <td>Bad</td>\n",
       "      <td>Above-7</td>\n",
       "      <td>M</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  gender NationalITy PlaceofBirth     StageID GradeID SectionID Topic  \\\n",
       "0      M          KW       KuwaIT  lowerlevel    G-04         A    IT   \n",
       "1      M          KW       KuwaIT  lowerlevel    G-04         A    IT   \n",
       "2      M          KW       KuwaIT  lowerlevel    G-04         A    IT   \n",
       "3      M          KW       KuwaIT  lowerlevel    G-04         A    IT   \n",
       "4      M          KW       KuwaIT  lowerlevel    G-04         A    IT   \n",
       "\n",
       "  Semester Relation  raisedhands  VisITedResources  AnnouncementsView  \\\n",
       "0        F   Father           15                16                  2   \n",
       "1        F   Father           20                20                  3   \n",
       "2        F   Father           10                 7                  0   \n",
       "3        F   Father           30                25                  5   \n",
       "4        F   Father           40                50                 12   \n",
       "\n",
       "   Discussion ParentAnsweringSurvey ParentschoolSatisfaction  \\\n",
       "0          20                   Yes                     Good   \n",
       "1          25                   Yes                     Good   \n",
       "2          30                    No                      Bad   \n",
       "3          35                    No                      Bad   \n",
       "4          50                    No                      Bad   \n",
       "\n",
       "  StudentAbsenceDays Class  \n",
       "0            Under-7     M  \n",
       "1            Under-7     M  \n",
       "2            Above-7     L  \n",
       "3            Above-7     L  \n",
       "4            Above-7     M  "
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head(5)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 特征(Features)介绍：\n",
    "\n",
    "|关键词|描述|\n",
    "| ---------: | :---- |\n",
    "|Gender|性别|\n",
    "|Nationality|国籍|\n",
    "|PlaceofBirth|出生地|\n",
    "|StageID|学校级别（小学，中学，高中）|\n",
    "|GradeID|年级 (G01 - G12)|\n",
    "|SectionID|班级|\n",
    "|Topic|学科科目|\n",
    "|Semester|学期 （春学期，秋学期）|\n",
    "|Relation|孩子家庭教育负责人（父亲，母亲）|\n",
    "|RaisedHands|学生该学期上课举手的次数|\n",
    "|VisitedResources|学生浏览在线课件的次数|\n",
    "|AnnoucementsView|学生浏览学校公告的次数|\n",
    "|Discussion|学生参与课堂讨论的次数|\n",
    "|ParentAnsweringSurvey|家长是否填写了关于学校的问卷调查 （是，否）|\n",
    "|ParentSchoolSatisfaction|家长对于学校的满意度 （好，不好）|\n",
    "|StudentAbsenceDays|学生缺勤天数 （大于7天，低于7天）|\n",
    "\n",
    "**结果(Response Variable)介绍：**\n",
    "Class: 根据学生最后的学术评测分数，学生会被分为3个等级\n",
    "\n",
    "1. Low-Level: 分数区间在0-60\n",
    "2. Middle-Level:分数区间在70-89\n",
    "3. High-Level:分数区间在90-100"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(480, 17)"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 检查数据集大小\n",
    "df.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "gender                      0\n",
      "NationalITy                 0\n",
      "PlaceofBirth                0\n",
      "StageID                     0\n",
      "GradeID                     0\n",
      "SectionID                   0\n",
      "Topic                       0\n",
      "Semester                    0\n",
      "Relation                    0\n",
      "raisedhands                 0\n",
      "VisITedResources            0\n",
      "AnnouncementsView           0\n",
      "Discussion                  0\n",
      "ParentAnsweringSurvey       0\n",
      "ParentschoolSatisfaction    0\n",
      "StudentAbsenceDays          0\n",
      "Class                       0\n",
      "dtype: int64\n"
     ]
    }
   ],
   "source": [
    "# 检查数据集是否有空缺值\n",
    "print(df.isnull().sum())\n",
    "\n",
    "# 可以看出在这个数据集中并没有空缺值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "gender                      object\n",
      "NationalITy                 object\n",
      "PlaceofBirth                object\n",
      "StageID                     object\n",
      "GradeID                     object\n",
      "SectionID                   object\n",
      "Topic                       object\n",
      "Semester                    object\n",
      "Relation                    object\n",
      "raisedhands                  int64\n",
      "VisITedResources             int64\n",
      "AnnouncementsView            int64\n",
      "Discussion                   int64\n",
      "ParentAnsweringSurvey       object\n",
      "ParentschoolSatisfaction    object\n",
      "StudentAbsenceDays          object\n",
      "Class                       object\n",
      "dtype: object\n"
     ]
    }
   ],
   "source": [
    "# 检查每个特征的数据类型\n",
    "print(df.dtypes)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>gender</th>\n",
       "      <th>NationalITy</th>\n",
       "      <th>PlaceofBirth</th>\n",
       "      <th>StageID</th>\n",
       "      <th>GradeID</th>\n",
       "      <th>SectionID</th>\n",
       "      <th>Topic</th>\n",
       "      <th>Semester</th>\n",
       "      <th>Relation</th>\n",
       "      <th>raisedhands</th>\n",
       "      <th>VisITedResources</th>\n",
       "      <th>AnnouncementsView</th>\n",
       "      <th>Discussion</th>\n",
       "      <th>ParentAnsweringSurvey</th>\n",
       "      <th>ParentschoolSatisfaction</th>\n",
       "      <th>StudentAbsenceDays</th>\n",
       "      <th>Class</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>480</td>\n",
       "      <td>480</td>\n",
       "      <td>480</td>\n",
       "      <td>480</td>\n",
       "      <td>480</td>\n",
       "      <td>480</td>\n",
       "      <td>480</td>\n",
       "      <td>480</td>\n",
       "      <td>480</td>\n",
       "      <td>480.000000</td>\n",
       "      <td>480.000000</td>\n",
       "      <td>480.000000</td>\n",
       "      <td>480.000000</td>\n",
       "      <td>480</td>\n",
       "      <td>480</td>\n",
       "      <td>480</td>\n",
       "      <td>480</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>unique</th>\n",
       "      <td>2</td>\n",
       "      <td>14</td>\n",
       "      <td>14</td>\n",
       "      <td>3</td>\n",
       "      <td>10</td>\n",
       "      <td>3</td>\n",
       "      <td>12</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>top</th>\n",
       "      <td>M</td>\n",
       "      <td>KW</td>\n",
       "      <td>KuwaIT</td>\n",
       "      <td>MiddleSchool</td>\n",
       "      <td>G-02</td>\n",
       "      <td>A</td>\n",
       "      <td>IT</td>\n",
       "      <td>F</td>\n",
       "      <td>Father</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Good</td>\n",
       "      <td>Under-7</td>\n",
       "      <td>M</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>freq</th>\n",
       "      <td>305</td>\n",
       "      <td>179</td>\n",
       "      <td>180</td>\n",
       "      <td>248</td>\n",
       "      <td>147</td>\n",
       "      <td>283</td>\n",
       "      <td>95</td>\n",
       "      <td>245</td>\n",
       "      <td>283</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>270</td>\n",
       "      <td>292</td>\n",
       "      <td>289</td>\n",
       "      <td>211</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>46.775000</td>\n",
       "      <td>54.797917</td>\n",
       "      <td>37.918750</td>\n",
       "      <td>43.283333</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>30.779223</td>\n",
       "      <td>33.080007</td>\n",
       "      <td>26.611244</td>\n",
       "      <td>27.637735</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>15.750000</td>\n",
       "      <td>20.000000</td>\n",
       "      <td>14.000000</td>\n",
       "      <td>20.000000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>50.000000</td>\n",
       "      <td>65.000000</td>\n",
       "      <td>33.000000</td>\n",
       "      <td>39.000000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>75.000000</td>\n",
       "      <td>84.000000</td>\n",
       "      <td>58.000000</td>\n",
       "      <td>70.000000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>100.000000</td>\n",
       "      <td>99.000000</td>\n",
       "      <td>98.000000</td>\n",
       "      <td>99.000000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       gender NationalITy PlaceofBirth       StageID GradeID SectionID Topic  \\\n",
       "count     480         480          480           480     480       480   480   \n",
       "unique      2          14           14             3      10         3    12   \n",
       "top         M          KW       KuwaIT  MiddleSchool    G-02         A    IT   \n",
       "freq      305         179          180           248     147       283    95   \n",
       "mean      NaN         NaN          NaN           NaN     NaN       NaN   NaN   \n",
       "std       NaN         NaN          NaN           NaN     NaN       NaN   NaN   \n",
       "min       NaN         NaN          NaN           NaN     NaN       NaN   NaN   \n",
       "25%       NaN         NaN          NaN           NaN     NaN       NaN   NaN   \n",
       "50%       NaN         NaN          NaN           NaN     NaN       NaN   NaN   \n",
       "75%       NaN         NaN          NaN           NaN     NaN       NaN   NaN   \n",
       "max       NaN         NaN          NaN           NaN     NaN       NaN   NaN   \n",
       "\n",
       "       Semester Relation  raisedhands  VisITedResources  AnnouncementsView  \\\n",
       "count       480      480   480.000000        480.000000         480.000000   \n",
       "unique        2        2          NaN               NaN                NaN   \n",
       "top           F   Father          NaN               NaN                NaN   \n",
       "freq        245      283          NaN               NaN                NaN   \n",
       "mean        NaN      NaN    46.775000         54.797917          37.918750   \n",
       "std         NaN      NaN    30.779223         33.080007          26.611244   \n",
       "min         NaN      NaN     0.000000          0.000000           0.000000   \n",
       "25%         NaN      NaN    15.750000         20.000000          14.000000   \n",
       "50%         NaN      NaN    50.000000         65.000000          33.000000   \n",
       "75%         NaN      NaN    75.000000         84.000000          58.000000   \n",
       "max         NaN      NaN   100.000000         99.000000          98.000000   \n",
       "\n",
       "        Discussion ParentAnsweringSurvey ParentschoolSatisfaction  \\\n",
       "count   480.000000                   480                      480   \n",
       "unique         NaN                     2                        2   \n",
       "top            NaN                   Yes                     Good   \n",
       "freq           NaN                   270                      292   \n",
       "mean     43.283333                   NaN                      NaN   \n",
       "std      27.637735                   NaN                      NaN   \n",
       "min       1.000000                   NaN                      NaN   \n",
       "25%      20.000000                   NaN                      NaN   \n",
       "50%      39.000000                   NaN                      NaN   \n",
       "75%      70.000000                   NaN                      NaN   \n",
       "max      99.000000                   NaN                      NaN   \n",
       "\n",
       "       StudentAbsenceDays Class  \n",
       "count                 480   480  \n",
       "unique                  2     3  \n",
       "top               Under-7     M  \n",
       "freq                  289   211  \n",
       "mean                  NaN   NaN  \n",
       "std                   NaN   NaN  \n",
       "min                   NaN   NaN  \n",
       "25%                   NaN   NaN  \n",
       "50%                   NaN   NaN  \n",
       "75%                   NaN   NaN  \n",
       "max                   NaN   NaN  "
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.describe(include = 'all')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 480 entries, 0 to 479\n",
      "Data columns (total 17 columns):\n",
      "gender                      480 non-null object\n",
      "NationalITy                 480 non-null object\n",
      "PlaceofBirth                480 non-null object\n",
      "StageID                     480 non-null object\n",
      "GradeID                     480 non-null object\n",
      "SectionID                   480 non-null object\n",
      "Topic                       480 non-null object\n",
      "Semester                    480 non-null object\n",
      "Relation                    480 non-null object\n",
      "raisedhands                 480 non-null int64\n",
      "VisITedResources            480 non-null int64\n",
      "AnnouncementsView           480 non-null int64\n",
      "Discussion                  480 non-null int64\n",
      "ParentAnsweringSurvey       480 non-null object\n",
      "ParentschoolSatisfaction    480 non-null object\n",
      "StudentAbsenceDays          480 non-null object\n",
      "Class                       480 non-null object\n",
      "dtypes: int64(4), object(13)\n",
      "memory usage: 63.8+ KB\n"
     ]
    }
   ],
   "source": [
    "df.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Relation ['Father' 'Mum']\n"
     ]
    }
   ],
   "source": [
    "# 查看分类型特征（categorical feature）中有哪些具体分类\n",
    "print('Relation',df['Relation'].unique())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Class ['M' 'L' 'H']\n"
     ]
    }
   ],
   "source": [
    "# 检查最终结果中有哪些分类\n",
    "print('Class',df['Class'].unique())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f4dab9954a8>"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1EAAAHrCAYAAAAuSxeQAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzt3W9sneV9//GPnWC3JAQnxs2cgIClC4sSMWgs0DQCqilDVDB1tIgspVPDMpWpBAYyAS1RsuUPyEk0WKpAVBWFB0tBmhhkDhFmwIpKx9bSlBXGxthG6SARBCdQp+RP43N+D1At8uOfL7B9jpPX69m57+NzvpbFhd++r/ukoVqtVgMAAMCQNNZ6AAAAgLFERAEAABQQUQAAAAVEFAAAQAERBQAAUEBEAQAAFBBRAAAABUQUAABAAREFAABQQEQBAAAUEFEAAAAFRBQAAECB8bUeYKTt3fvLVCrVWo8BAADUmcbGhkyePKH46476iKpUqiIKAAAYNrbzAQAAFBBRAAAABUQUAABAAREFAABQQEQBAAAUEFEAAAAFRBQAAEABEQUAAFBARAEAABQQUQAAAAVEFAAAQAERBQAAUEBEAQAAFBBRAAAABUQUAABAAREFAABQQEQBAAAUEFEAAAAFxtd6AICjyeQTmzK+qbnWY8CYdPjQwex961CtxwD4SCIKYBiNb2rOj9cuqvUYMCbNXfKdJCIKqH+28wEAABQQUQAAAAVEFAAAQAERBQAAUEBEAQAAFBBRAAAABUQUAABAAREFAABQQEQBAAAUEFEAAAAFRBQAAEABEQUAAFBARAEAABQQUQAAAAVEFAAAQAERBQAAUEBEAQAAFBiViNq7d2/+9E//NBdffHEuu+yyXHvttdmzZ0+S5Jlnnskf/MEf5OKLL87VV1+dvr6+wa/7sHMAAAC1MCoR1dDQkEWLFqW3tzc9PT055ZRTsn79+lSr1dx0001Zvnx5ent709HRkfXr1yfJh54DAAColVGJqJaWlpx77rmDj88666zs3Lkzzz77bJqbm9PR0ZEkmT9/fh5++OEk+dBzAAAAtTJ+tN+wUqnk3nvvTWdnZ3bt2pVp06YNnpsyZUoqlUrefPPNDz3X0tIy5PdrbZ04rPMDACOnre2EWo8A8JFGPaJWrVqV448/PldddVX+8R//ccTfr69vXyqV6oi/D0DiF0D4pHbv7q/1CMAxpLGx4WNddBnViOru7s7LL7+cTZs2pbGxMe3t7dm5c+fg+T179qShoSEtLS0feg4AAKBWRu0jzm+//fY899xz2bhxY5qampIkc+bMyYEDB/L0008nSe67775ccsklH3kOAACgVkblStSLL76YTZs25bTTTsv8+fOTJCeffHI2btyYtWvXZsWKFTl48GCmT5+edevWJUkaGxs/8BwAAECtNFSr1aP6hiH3RAGjqa3thPx47aJajwFj0twl33FPFDCqPu49UaO2nQ8AAOBoIKIAAAAKiCgAAIACIgoAAKCAiAIAACggogAAAAqIKAAAgAIiCgAAoICIAgAAKCCiAAAACogoAACAAiIKAACggIgCAAAoIKIAAAAKiCgAAIACIgoAAKCAiAIAACggogAAAAqIKAAAgAIiCgAAoICIAgAAKCCiAAAACogoAACAAiIKAACggIgCAAAoIKIAAAAKiCgAAIACIgoAAKCAiAIAACggogAAAAqIKAAAgAIiCgAAoICIAgAAKCCiAAAACogoAACAAiIKAACggIgCAAAoIKIAAAAKiCgAAIACIgoAAKDA+NF6o+7u7vT29ubVV19NT09PZs6cmVdeeSXf/OY3B5/T39+fffv25Yc//GGSpLOzM01NTWlubk6SdHV1Zd68eaM1MgAAwHuMWkRdeOGF+eM//uN89atfHTx28sknZ+vWrYOP16xZk4GBgSO+bsOGDZk5c+ZojQkAAPChRi2iOjo6PvT8oUOH0tPTk7vvvnuUJgIAACg3ahH1UR5//PFMnTo1s2fPPuJ4V1dXqtVq5s6dmxtvvDGTJk0qet3W1onDOSYAMILa2k6o9QgAH6luIur+++/Pl7/85SOObdmyJe3t7Tl06FDWrFmTlStXZv369UWv29e3L5VKdThHBfhAfgGET2b37v5ajwAcQxobGz7WRZe6+HS+1157LT/60Y9y2WWXHXG8vb09SdLU1JQFCxZkx44dtRgPAABgUF1E1AMPPJALLrggkydPHjz29ttvp7//nb9GVavVbN++PbNmzarViAAAAElGcTvf6tWr88gjj+SNN97IwoUL09LSkoceeijJOxG1dOnSI57f19eXxYsXZ2BgIJVKJTNmzMiKFStGa1wAAID31VCtVo/qG4bcEwWMpra2E/LjtYtqPQaMSXOXfMc9UcCoGtP3RAEAAIwVIgoAAKCAiAIAACggogAAAAqIKAAAgAIiCgAAoICIAgAAKCCiAAAACogoAACAAiIKAACggIgCAAAoIKIAAAAKiCgAAIACIgoAAKCAiAIAACggogAAAAqIKAAAgAIiCgAAoICIAgAAKCCiAAAACogoAACAAiIKAACggIgCAAAoIKIAAAAKiCgAAIACIgoAAKCAiAIAACggogAAAAqIKAAAgAIiCgAAoICIAgAAKCCiAAAACogoAACAAiIKAACggIgCAAAoIKIAAAAKiCgAAIACIgoAAKCAiAIAACggogAAAAqMH6036u7uTm9vb1599dX09PRk5syZSZLOzs40NTWlubk5SdLV1ZV58+YlSZ555pksX748Bw8ezPTp07Nu3bq0traO1sgAAADvMWpXoi688MJs2bIl06dPf8+5DRs2ZOvWrdm6detgQFWr1dx0001Zvnx5ent709HRkfXr14/WuAAAAO9r1CKqo6Mj7e3tQ37+s88+m+bm5nR0dCRJ5s+fn4cffnikxgMAABiSUdvO92G6urpSrVYzd+7c3HjjjZk0aVJ27dqVadOmDT5nypQpqVQqefPNN9PS0jLk125tnTgSIwMAI6Ct7YRajwDwkWoeUVu2bEl7e3sOHTqUNWvWZOXKlcO6ba+vb18qleqwvR7Ah/ELIHwyu3f313oE4BjS2NjwsS661PzT+X69xa+pqSkLFizIjh07Bo/v3Llz8Hl79uxJQ0ND0VUoAACA4VbTiHr77bfT3//OX5yq1Wq2b9+eWbNmJUnmzJmTAwcO5Omnn06S3HfffbnkkktqNisAAEAyitv5Vq9enUceeSRvvPFGFi5cmJaWlmzatCmLFy/OwMBAKpVKZsyYkRUrViRJGhsbs3bt2qxYseKIjzgHAACopYZqtXpU3zDknihgNLW1nZAfr11U6zFgTJq75DvuiQJG1Zi9JwoAAGAsEVEAAAAFRBQAAEABEQUAAFBARAEAABQQUQAAAAVEFAAAQAERBQAAUEBEAQAAFBBRAAAABcbXegAAgKPVpBOb09zUVOsxYEw6eOhQfvHWwVqP8b5EFADACGluasrXN19f6zFgTLpn4d8kqc+Isp0PAACggIgCAAAoIKIAAAAKiCgAAIACIgoAAKCAiAIAACggogAAAAqIKAAAgAIiCgAAoICIAgAAKCCiAAAACogoAACAAiIKAACggIgCAAAoIKIAAAAKiCgAAIACIgoAAKCAiAIAACggogAAAAqIKAAAgAIiCgAAoICIAgAAKCCiAAAACogoAACAAiIKAACggIgCAAAoIKIAAAAKjK/1AEeDEyZ9Kp9qPq7WY8CYdODgr9L/iwO1HgMAYMhGLaK6u7vT29ubV199NT09PZk5c2b27t2bJUuW5Oc//3mamppy6qmnZuXKlZkyZUqS5IwzzsjMmTPT2PjOBbO1a9fmjDPOGK2Rh+xTzcdlwZIttR4DxqTvrv1q+iOiAICxY9S281144YXZsmVLpk+fPnisoaEhixYtSm9vb3p6enLKKadk/fr1R3zdfffdl61bt2br1q11GVAAAMCxZdQiqqOjI+3t7Ucca2lpybnnnjv4+KyzzsrOnTtHayQAAIBidXNPVKVSyb333pvOzs4jjn/ta1/LwMBAzj///CxevDhNTU1Fr9vaOnE4xwRGQFvbCbUeAagT1gPg3ep1TaibiFq1alWOP/74XHXVVYPHvve976W9vT379u3LTTfdlI0bN+aGG24oet2+vn2pVKrDPe4R6vWHC2PF7t39tR5h2FgP4JM5mtaDxJoAn9RIrwmNjQ0f66JLXXzEeXd3d15++eXccccdgx8ikWRw+9/EiRNzxRVXZMeOHbUaEQAAIEkdRNTtt9+e5557Lhs3bjxiq95bb72VAwfe+cSuw4cPp7e3N7NmzarVmAAAAElGcTvf6tWr88gjj+SNN97IwoUL09LSkjvuuCObNm3Kaaedlvnz5ydJTj755GzcuDH/+7//m+XLl6ehoSGHDx/O2Wefneuvv360xgUAAHhfoxZRy5Yty7Jly95z/IUXXnjf55999tnp6ekZ6bEAAACK1Hw7HwAAwFgiogAAAAqIKAAAgAIiCgAAoICIAgAAKCCiAAAACogoAACAAiIKAACgwJAj6u67737f45s3bx62YQAAAOrdkCNq48aN73v8rrvuGrZhAAAA6t34j3rCU089lSSpVCr5l3/5l1Sr1cFzr7zySiZMmDBy0wEAANSZj4yopUuXJkkOHjyYv/iLvxg83tDQkLa2tixbtmzkpgMAAKgzHxlRjz/+eJJkyZIlWbt27YgPBAAAUM8+MqJ+7d0BValUjjjX2OhD/gAAgGPDkCPq3//937Ny5cq88MILOXjwYJKkWq2moaEh//Ef/zFiAwIAANSTIUfULbfcks9//vO59dZb86lPfWokZwIAAKhbQ46oV199NTfccEMaGhpGch4AAIC6NuSbmS666KI8+eSTIzkLAABA3RvylaiDBw/m2muvzdy5c3PSSScdcc6n9gEAAMeKIUfUZz/72Xz2s58dyVkAAADq3pAj6tprrx3JOQAAAMaEIUfUU0899YHnfvd3f3dYhgEAAKh3Q46opUuXHvF47969+dWvfpWpU6fmscceG/bBAAAA6tGQI+rxxx8/4vHAwEDuuuuuTJgwYdiHAgAAqFdD/ojz/9+4ceNyzTXX5Dvf+c5wzgMAAFDXPnZEJckPfvAD//guAABwTBnydr4LLrjgiGDav39/Dh06lBUrVozIYAAAAPVoyBG1bt26Ix5/+tOfzumnn56JEycO+1AAAAD1asgRdc455yRJKpVK3njjjZx00klpbPxEuwEBAADGnCFX0L59+7JkyZKceeaZOf/883PmmWfm5ptvTn9//0jOBwAAUFeGHFGrV6/O/v3709PTk5/+9Kfp6enJ/v37s3r16pGcDwAAoK4MeTvf97///Tz66KP59Kc/nSQ5/fTTc9ttt+Wiiy4aseEAAADqzZCvRDU3N2fPnj1HHNu7d2+ampqGfSgAAIB6NeQrUV/5yldy9dVX5+tf/3qmTZuWnTt35p577skVV1wxkvMBAADUlSFH1J/92Z9l6tSp6enpyeuvv57PfOYzWbRokYgCAACOKUPezrdmzZqcfvrpueeee7J9+/bcc889mTFjRtasWTOS8wEAANSVIUfUtm3bMmfOnCOOzZkzJ9u2bRv2oQAAAOrVkCOqoaEhlUrliGMDAwPvOQYAAHA0G3JEdXR05G/+5m8Go6lSqeRb3/pWOjo6Rmw4AACAejPkD5ZYunRpvvGNb+S8887LtGnTsmvXrrS1tWXTpk0jOR8AAEBdGXJE/cZv/EYeeOCB/PSnP82uXbvS3t6eM888M42NH30xq7u7O729vXn11VfT09OTmTNnJkleeuml3HLLLXnzzTfT0tKS7u7unHbaaR95DgAAoFaGvJ0vSRobG3PWWWflkksuyVlnnTWkgEqSCy+8MFu2bMn06dOPOL5ixYosWLAgvb29WbBgQZYvXz6kcwAAALVSFFEfV0dHR9rb24841tfXl+effz6XXnppkuTSSy/N888/nz179nzoOQAAgFoa8na+4bZr165MnTo148aNS5KMGzcun/nMZ7Jr165Uq9UPPDdlypSi92ltnTjsswPDq63thFqPANQJ6wHwbvW6JtQsokZLX9++VCrVEX2Pev3hwlixe3d/rUcYNtYD+GSOpvUgsSbAJzXSa0JjY8PHuuhSs4hqb2/Pa6+9loGBgYwbNy4DAwN5/fXX097enmq1+oHnAAAAamlU7ol6P62trZk1a1a2bduWJNm2bVtmzZqVKVOmfOg5AACAWhqVK1GrV6/OI488kjfeeCMLFy5MS0tLHnroofzlX/5lbrnlltx5552ZNGlSuru7B7/mw84BAADUyqhE1LJly7Js2bL3HJ8xY0b+7u/+7n2/5sPOAQAA1ErNtvMBAACMRSIKAACggIgCAAAoIKIAAAAKiCgAAIACIgoAAKCAiAIAACggogAAAAqIKAAAgAIiCgAAoICIAgAAKCCiAAAACogoAACAAiIKAACggIgCAAAoIKIAAAAKiCgAAIACIgoAAKCAiAIAACggogAAAAqIKAAAgAIiCgAAoICIAgAAKCCiAAAACogoAACAAiIKAACggIgCAAAoIKIAAAAKiCgAAIACIgoAAKCAiAIAACggogAAAAqIKAAAgAIiCgAAoICIAgAAKCCiAAAACogoAACAAiIKAACggIgCAAAoIKIAAAAKjK/1AK+88kq++c1vDj7u7+/Pvn378sMf/jCdnZ1pampKc3NzkqSrqyvz5s2r1agAAAC1j6iTTz45W7duHXy8Zs2aDAwMDD7esGFDZs6cWYvRAAAA3qOutvMdOnQoPT09+fKXv1zrUQAAAN5Xza9Evdvjjz+eqVOnZvbs2YPHurq6Uq1WM3fu3Nx4442ZNGlS0Wu2tk4c7jGBYdbWdkKtRwDqhPUAeLd6XRPqKqLuv//+I65CbdmyJe3t7Tl06FDWrFmTlStXZv369UWv2de3L5VKdbhHPUK9/nBhrNi9u7/WIwwb6wF8MkfTepBYE+CTGuk1obGx4WNddKmb7XyvvfZafvSjH+Wyyy4bPNbe3p4kaWpqyoIFC7Jjx45ajQcAAJCkjiLqgQceyAUXXJDJkycnSd5+++30979TntVqNdu3b8+sWbNqOSIAAED9bOd74IEHsnTp0sHHfX19Wbx4cQYGBlKpVDJjxoysWLGihhMCAADUUUT19vYe8fiUU07Jgw8+WKNpAAAA3l/dbOcDAAAYC0QUAABAAREFAABQQEQBAAAUEFEAAAAFRBQAAEABEQUAAFBARAEAABQQUQAAAAVEFAAAQAERBQAAUEBEAQAAFBBRAAAABUQUAABAAREFAABQQEQBAAAUEFEAAAAFRBQAAEABEQUAAFBARAEAABQQUQAAAAVEFAAAQAERBQAAUEBEAQAAFBBRAAAABUQUAABAAREFAABQQEQBAAAUEFEAAAAFRBQAAEABEQUAAFBARAEAABQQUQAAAAVEFAAAQAERBQAAUEBEAQAAFBBRAAAABUQUAABAAREFAABQQEQBAAAUGF/rAZKks7MzTU1NaW5uTpJ0dXVl3rx5eeaZZ7J8+fIcPHgw06dPz7p169La2lrjaQEAgGNZXURUkmzYsCEzZ84cfFytVnPTTTfltttuS0dHR+68886sX78+t912Ww2nBAAAjnV1u53v2WefTXNzczo6OpIk8+fPz8MPP1zjqQAAgGNd3VyJ6urqSrVazdy5c3PjjTdm165dmTZt2uD5KVOmpFKp5M0330xLS8uQX7e1deJIjAsMo7a2E2o9AlAnrAfAu9XrmlAXEbVly5a0t7fn0KFDWbNmTVauXJmLLrpoWF67r29fKpXqsLzWB6nXHy6MFbt399d6hGFjPYBP5mhaDxJrAnxSI70mNDY2fKyLLnWxna+9vT1J0tTUlAULFmTHjh1pb2/Pzp07B5+zZ8+eNDQ0FF2FAgAAGG41j6i33347/f3vFGa1Ws327dsza9aszJkzJwcOHMjTTz+dJLnvvvtyySWX1HJUAACA2m/n6+vry+LFizMwMJBKpZIZM2ZkxYoVaWxszNq1a7NixYojPuIcAACglmoeUaecckoefPDB9z33uc99Lj09PaM8EQAAwAer+XY+AACAsUREAQAAFBBRAAAABUQUAABAAREFAABQQEQBAAAUEFEAAAAFRBQAAEABEQUAAFBARAEAABQQUQAAAAVEFAAAQAERBQAAUEBEAQAAFBBRAAAABUQUAABAAREFAABQQEQBAAAUEFEAAAAFRBQAAEABEQUAAFBARAEAABQQUQAAAAVEFAAAQAERBQAAUEBEAQAAFBBRAAAABUQUAABAAREFAABQQEQBAAAUEFEAAAAFRBQAAEABEQUAAFBARAEAABQQUQAAAAVEFAAAQAERBQAAUEBEAQAAFBBRAAAABUQUAABAgfG1HmDv3r1ZsmRJfv7zn6epqSmnnnpqVq5cmSlTpuSMM87IzJkz09j4TuutXbs2Z5xxRo0nBgAAjmU1j6iGhoYsWrQo5557bpKku7s769evz6233pokue+++zJhwoRajggAADCo5tv5WlpaBgMqSc4666zs3LmzhhMBAAB8sJpfiXq3SqWSe++9N52dnYPHvva1r2VgYCDnn39+Fi9enKampqLXbG2dONxjAsOsre2EWo8A1AnrAfBu9bom1FVErVq1Kscff3yuuuqqJMn3vve9tLe3Z9++fbnpppuycePG3HDDDUWv2de3L5VKdSTGHVSvP1wYK3bv7q/1CMPGegCfzNG0HiTWBPikRnpNaGxs+FgXXWq+ne/Xuru78/LLL+eOO+4Y/CCJ9vb2JMnEiRNzxRVXZMeOHbUcEQAAoD4i6vbbb89zzz2XjRs3Dm7Xe+utt3LgwIEkyeHDh9Pb25tZs2bVckwAAIDab+d78cUXs2nTppx22mmZP39+kuTkk0/OokWLsnz58jQ0NOTw4cM5++yzc/3119d4WgAA4FhX84j6rd/6rbzwwgvve66np2eUpwEAAPhwdbGdDwAAYKwQUQAAAAVEFAAAQAERBQAAUEBEAQAAFBBRAAAABUQUAABAAREFAABQQEQBAAAUEFEAAAAFRBQAAEABEQUAAFBARAEAABQQUQAAAAVEFAAAQAERBQAAUEBEAQAAFBBRAAAABUQUAABAAREFAABQQEQBAAAUEFEAAAAFRBQAAEABEQUAAFBARAEAABQQUQAAAAVEFAAAQAERBQAAUEBEAQAAFBBRAAAABUQUAABAAREFAABQQEQBAAAUEFEAAAAFRBQAAEABEQUAAFBARAEAABQQUQAAAAVEFAAAQAERBQAAUKDuI+qll17KlVdemYsvvjhXXnllfvazn9V6JAAA4BhW9xG1YsWKLFiwIL29vVmwYEGWL19e65EAAIBj2PhaD/Bh+vr68vzzz2fz5s1JkksvvTSrVq3Knj17MmXKlCG9RmNjw0iOOOikyRNG5X3gaDRa/52OlqZJrbUeAcaso209SJKTJg7tdxbgvUZ6Tfi4r99QrVarwzzLsHnuuedy880356GHHho89sUvfjHr1q3L7NmzazgZAABwrKr77XwAAAD1pK4jqr29Pa+99loGBgaSJAMDA3n99dfT3t5e48kAAIBjVV1HVGtra2bNmpVt27YlSbZt25ZZs2YN+X4oAACA4VbX90Qlyf/8z//klltuyS9+8YtMmjQp3d3d+c3f/M1ajwUAAByj6j6iAAAA6kldb+cDAACoNyIKAACggIgCAAAoIKIAAAAKiCgAAIACIoqjVmdnZ/7rv/6r1mMANdbZ2Znzzjtv8B9uT5L7778/Z5xxRv72b/+2hpMBtfB+vx9cfvnl+dd//dcaTcRYJKIAOOq1tbXlySefHHz84IMPZvbs2TWcCICxTEQBcNT7wz/8w/z93/99kuT//u//sn///sycObPGUwEwVo2v9QAAMNLOPffcfPe7381bb72VBx54IF/60pfy3HPP1XosoEauu+66NDc3Dz7+2c9+VrthGJNEFABHvYaGhlxyySV56KGHsn379tx7770iCo5hGzZsOOJq9OWXX17DaRiLRBQAx4TLL788V1xxRc4555xMnjy51uMAMIaJKACOCaecckpuuOGG/M7v/E6tRwFgjBNRHNUWLlyYcePGDT7u6enJiSeeWMOJgFq68soraz0CAEeBhmq1Wq31EAAAAGOFjzgHAAAoIKIAAAAKiCgAAIACIgoAAKCAiAIAACggogA4qnzrW99KV1dXrccA4Cjm34kCYEzq6enJ5s2b89JLL2XChAn57d/+7VxzzTW1HguAY4CIAmDM2bx5c7797W/nr/7qr3LeeefluOOOy/e///089thjOf7442s9HgBHOdv5ABhT+vv7s2HDhixfvjy///u/n+OPPz7HHXdcOjs7c/PNN7/n+dddd11+7/d+L3Pnzs1Xv/rVvPjii4PnnnjiiXzxi1/M2WefnXnz5uXuu+9OkuzZsyff+MY30tHRkXPOOScLFixIpVIZte8RgPrmShQAY8pPfvKTHDx4MBdddNGQnn/++efn1ltvTVNTU9atW5eurq5s3bo1SbJ06dLccccd6ejoyFtvvZVXXnklyTtXuqZOnZqnnnoqSfJv//ZvaWhoGJlvCIAxx5UoAMaUN998M5MnT8748UP7O+BXvvKVTJw4MU1NTVm8eHH+8z//M/39/UmS8ePH57//+7+zb9++nHjiiZk9e/bg8d27d2fnzp057rjj0tHRIaIAGCSiABhTWlpasnfv3hw+fPgjnzswMJD169fnC1/4Qj73uc+ls7MzSbJ3794kyYYNG/LEE0/k85//fK666qr85Cc/SZL8yZ/8SU499dRcffXVufDCC/Ptb3975L4hAMYcEQXAmHL22Wenubk5jz766Ec+t6enJ4899lg2b96cH//4x3n88ceTJNVqNUly5pln5q677so///M/5wtf+EL+/M//PEkyceLE3HLLLXnssceyadOmbN68eXBrHwCIKADGlBNOOCHXXXddVq5cmUcffTT79+/Pr371qzzxxBNZu3btEc/95S9/maampkyePDn79+/PX//1Xw+eO3ToUP7hH/4h/f39Oe644zJhwoSMGzcuSfJP//RPefnll1OtVjPjCHJpAAAAvElEQVRx4sSMGzcujY3+lwnAO3ywBABjzsKFC9Pa2po777wzXV1dmTBhQmbPnp1rrrkmP/jBDwaf96UvfSlPPvlk5s2bl5aWllx//fW59957B89v3bo1q1atysDAQE4//fTBCHv55ZezatWq7NmzJ5MmTcof/dEf5dxzzx317xOA+tRQ/fWeBgAAAD6SvQkAAAAFRBQAAEABEQUAAFBARAEAABQQUQAAAAVEFAAAQAERBQAAUEBEAQAAFPh/UfMY8byEb4AAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 1008x576 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 检查数据集结果是否平衡\n",
    "sns.countplot(x = 'Class', order = ['L','M','H'], data = df)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3. 数据可视化分析\n",
    "\n",
    "下面开始对分类型特征（categorical feature）进行可视化，大致了解这些特征和结果之间的关系\n",
    "\n",
    "### 3.1 分类型特征之间的可视化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f4dab753e10>"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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dVetWpWtW7dm/fr1eeihh7Jjx46sWbOmb/3555/Piy++mB/96EdZtmzZEPxJANBIRBQADesXv/hFDh48mE9+8pM5/vjj85GPfCRnnXVWkuRf/uVfMnv27Lz3ve9Nc3NzLrvsshx//PF56qmn+s7/xCc+kTFjxqS1tTUf/vCH8+tf/zrJa3F1+eWXZ8KECTnppJMyb968vnNqtVq++c1v5uabb05ra2uGDx+eq666Kg888EDf9zQ1NeW6665LS0tLTjjhhCH60wCgURxX7wEA4I3s2LEjY8aMSaVS6TvW3t6eJNm2bVvWr1+fe+65p2/t1VdfzY4dO/oet7W19X194okn9q3t2LEjkyZN6lsbN25c39e7du3K3r17c/nll/cdq9VqqVarfY9HjBiRYcOGDcSPCMARSEQB0LDa2tqyffv21Gq1vpDq7u7O+PHj097enquvvjrXXHNN8fOOHj063d3dfY+3bdvW9/WIESNywgkn5IEHHsiYMWNe9/w/jDoAjj228wHQsCZPnpzm5ubcc889OXjwYB5++OFs3rw5STJr1qysW7cuv/jFL1Kr1fLKK6/kxz/+cfbs2fOmz3vJJZfk/vvvz3/+539m7969+ad/+qe+taampsyaNSu33XZbenp6kiTbt2/Po48+Ojg/JABHHBEFQMNqaWnJl7/85XzrW9/KBz7wgXz3u9/Nhz70obS0tOSss87KsmXLsnTp0nzgAx/IRz7ykb4PjngzF154YT71qU/lU5/6VC6++OL82Z/92SHr8+fPzzvf+c787d/+bd7//vfn05/+dLZu3ToYPyIAR6BKrVar1XsIAOivWbNmZc6cOfnrv/7reo8CwDHKnSgAGtrPf/7z7Ny5MwcPHsz999+fZ555Jueff369xwLgGOaDJQBoaFu3bs0NN9yQV155JePHj88dd9yR0aNH13ssAI5htvMBAAAUsJ0PAACggIgCAAAoIKIAAAAKiCgAAIACIgoAAKDA/wPkA74KMvMSfwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 1008x576 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 了解性别的分布情况\n",
    "sns.countplot(x='gender', data=df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f4daba21cf8>"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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DKWlPhhJTU1Ny1xXW+vD8wAAgHXHaofS008/nfPPPz/PPfdc6uvrkyRFUaSmpibPPvtsiw0IAADQ2lY7lIYNG5Z99tknF198cTp06NCSMwEAAFTVaofS66+/nlNPPTU1NTUtOQ8AAEDVrXYo7bfffnnwwQezxx57tOQ8QAvYsEvbtGu77hwJXtSwMO/Mbaj2GADAOmy1Q6m+vj4nnnhidtlll2yyySbLXOfT8GDN1q5th/zs+gHVHqPZfOfYyUmEEgDQclY7lLbZZptss802LTkLAADAGmG1Q+nEE09syTkAAADWGKsdSlOnTl3pdbvuumuzDAMAALAmWO1QOuecc5b5es6cOWloaMhmm22W3/72t80+GAAAQLWsdihNmTJlma8bGxvz05/+NB07dmz2oQAAAKqp9uN+Y11dXb773e/mF7/4RXPOAwAAUHUfO5SS5I9//KP/gBYAAFjnrPapd3vttdcyUfT+++9n0aJFGTFiRIsMBgAAUC2rHUqXXnrpMl+vt9566dGjRzp16tTsQwEAAFTTaodSv379kiRNTU15++23s8kmm6S29h86cw8AAGCNtNqlM3/+/JxxxhnZYYcdsueee2aHHXbImWeemXnz5rXkfAAAAK1utUPpwgsvzPvvv5+JEyfmL3/5SyZOnJj3338/F154YUvOBwAA0OpW+9S7//7v/87999+f9dZbL0nSo0ePXHLJJdlvv/1abDgAAIBqWO0jSu3bt8/s2bOXuWzOnDlp165dsw8FAABQTat9ROmII47Icccdl3/+53/O5ptvnjfeeCPXXnttjjzyyJacDwAAoNWtdigNHTo0m222WSZOnJiZM2dm0003zfHHHy+UAACAdc5qn3p30UUXpUePHrn22mtzzz335Nprr83WW2+diy66qCXnAwAAaHWrHUqTJk3K9ttvv8xl22+/fSZNmtTsQwEAAFTTaodSTU1NmpqalrmssbFxucsAAADWdqsdSn379s0VV1xRCaOmpqaMHTs2ffv2bbHhAAAAqmG1P8zhnHPOyXe+853svvvu2XzzzTN9+vR069Yt11xzTUvOBwAA0OpWO5Q+9alP5c4778xf/vKXTJ8+Pd27d88OO+yQ2trVPigFAACwVljtUEqS2tra9OnTJ3369GmpeQAAAKrO4SAAAICSj3RECWBt1blLu7Rv277aYzSb+ob6vDt3UbXHAIB1llACPhHat22ff7lzYLXHaDbjD70viVACgJbi1DsAAIASoQQAAFAilAAAAEqEEgAAQIlQAgAAKBFKAAAAJUIJAACgRCgBAACUCCUAAIASoQQAAFAilAAAAEqEEgAAQIlQAgAAKBFKAAAAJUIJAACgRCgBAACUCCUAAICSVg+lq666Kr169crzzz+fJHniiScyaNCgDBgwIMcdd1xmzZrV2iMBAAAso1VD6emnn84TTzyRzTffPElSFEVOP/30DB8+PJMnT07fvn1z2WWXteZIAAAAy2m1UFq0aFHOP//8jBgxIjU1NUmSJ598Mu3bt0/fvn2TJEcddVTuu+++1hoJAABghdq01g+64oorMmjQoGy55ZaVy6ZPn145upQkXbt2TVNTU+bOnZsuXbqs9rI33rhTs866purWbYNqj8AawP1gCdvBNoCl7AtAS2iVUPrzn/+cJ598Mj/84Q9bZPmzZs1PU1OxzGXr4oPmW2/Nq/YIax33gyVsB9sAlrIvAJ80tbU1H+vASquE0mOPPZYXX3wx++67b5LkzTffzLe//e0ce+yxeeONNyq3mz17dmpqaj7S0SQAAIDm1irvUTrhhBPy4IMPZsqUKZkyZUo+9alP5Ze//GWOP/74LFy4MI8//niS5Oabb87+++/fGiMBAACsVKu9R2lFamtrM2bMmIwYMSL19fXZYostcumll1ZzJAAAgOqE0pQpUyr/3nnnnTNx4sRqjAEAALBCrf4fzgIAAKzphBIAAECJUAIAACgRSgAAACVCCQAAoEQoAQAAlAglAACAEqEEAABQIpQAAABKhBIAAECJUAIAACgRSgAAACVCCQAAoEQoAQAAlAglAACAEqEEAABQIpQAAABKhBIAAECJUAIAACgRSgAAACVCCQAAoEQoAQAAlAglAACAEqEEAABQIpQAAABKhBIAAECJUAIAACgRSgAAACVCCQAAoEQoAQAAlAglAACAEqEEAABQIpQAAABKhBIAAECJUAIAACgRSgAAACVCCQAAoEQoAQAAlLSp9gAAALSuLl06pm3bdef18oaGpsyd+161x2AdI5QAAD5h2ratzb2/frvaYzSb/YdsUu0RWAetOy8lAAAANBOhBAAAUCKUAAAASoQSAABAiVACAAAoEUoAAAAlQgkAAKBEKAEAAJQIJQAAgBKhBAAAUCKUAAAASoQS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8qtf/epDv/eOO+7ISy+9tMzXJ510UovN2pzeeeedfPGLX8xFF130sb7/tddey5e+9KUVXjdjxowce+yx/8h4LeLee+/NIYccksGDB2fgwIE57bTTPvT2//qv/5pp06a10nStp3///svsx4MHD85rr732sZfXq1evvPfee0lWb5t98PZrgkWLFmXUqFH5p3/6p8p2uffee6s9Vov6qPvCx/Xkk0+uctnVftws7w8XX3xxq/zcNWU/6N+/f55//vllLjvssMPyyCOP5Iorrsg999zzod9ffh5cG33wPjBw4MCce+65aWhoyE033ZRrr712ld8/bNiwVf69sCZoaGjIFVdckQEDBuTAAw/M/vvvn1GjRuWWW25p8X3wnHPOyeOPP/6ht7n22msza9asFp1jRRoaGjJ27NjKdhk8eHBOOumk/P3vf//Yy1zRfrU2aFPtAdZG55xzTnr27JlkyS/+yiuvrHy9rujWrVsefPDB7LXXXkmSu+66K1/4whdW+X133nlnNtpoo/To0aOlR2x2EydOTJ8+fXL33Xfn9NNPT7t27Za5vqmpKTU1NampqfnIy95ss81y/fXXN9eozWLmzJk577zzcuedd6Z79+4piiJ//etfP/R7fv7zn7fSdK2vpfbjtXGbjRw5MgsWLMjdd9+d9u3b5/nnn8+3v/3tdOnSJbvuuutqLeMf2V9a28fZFz6uL37xi/nRj37UIstuTh+2PyxevDht2nwy/3w4+eSTV3mbj/s8uKZt16X3gcbGxnzjG9/Ib37zm3z961+v9ljN6qyzzkp9fX1uv/32dOrUKQ0NDbnjjjuyaNGiFv/Zq/Oi7HXXXZfddtstG2+88XLXteRj7FlnnZWFCxfm1ltvTefOnVMURe6777688MIL2WabbZr9563J1pw9kjXKoYcemjvuuCN77bVXXn311bz//vuVJ82pU6fmJz/5Serr69PY2Jjvfve7OfDAA3P77bfnqaeeyoUXXpif/OQnOfPMM5Mk8+fPzymnnJK//e1v2WCDDTJ27Nh069atmqu3QrfffnvOOOOM/OxnP8uUKVMycODAjB07Nq+88koWLFiQV199Nb/61a9yzTXX5NFHH01DQ0M22mijXHzxxdliiy0qyxk9enQee+yx1NfXZ8SIEenbt29ee+21HH744XnkkUeSJH/+858zZsyYyqunZ5xxRnbfffdWXd+33347bdq0SZcuXZIkNTU16d2794fO179//1xzzTXp2bNnZs6cmQsvvDBvvPFG6uvrc+CBB+a73/1ukiUvIAwePDgPPfRQ3nrrrRx33HE55phjkiz5D6YvuuiivPXWW0mS4447LoceeuiHLq9aevXqlVNPPTW/+c1vMnfu3JxxxhkZMGBAkmTy5Mm5/PLL06FDhwwcODCXX355/vSnP6Vjx47LLOOD2+yqq67KpEmT0r59+9TU1OS6665L586dkyTXX3/9Cn9Oa3v99ddz77335ne/+13at2+fJOnZs2eGDh2aq666Ko8//ngWLFhQ2b/Hjh1b+fqj7C9L94mjjjoqf/jDH/L+++/noosuSt++fVt9nT9sX+jVq1dOPPHE/PGPf8ycOXPygx/8oPK7Oe200/LSSy+loaEhn/nMZ3LxxRdnww03zCOPPJKLL744O+64Y/785z+npqYml19+ebbeeus88sgjGT16dO64447MmjUrp512WuUV41133TVnn312kjXvcXPYsGHp2LFjXn755cyZMyd33HFH/vd//zeXXXZZ5XHipJNOyt57773K3+3vfve7jB07NosXL05tbW1GjRqVbbfdNsmasx+szLBhw7L99tvnmGOOyf33358rrrgitbW1aWxszP/7f/8vr7322nLPg1/60pdy2WWX5b//+7+TJHvssUd++MMfpq6ubrntuv/++2f69OkZPnx4kiX3zUGDBuW3v/1t1ltvvaqsc319ferr69O5c+dl9vfGxsaVrtcHvffee7nwwgvz5JNPJkkGDRqUE044IUny97//PWeddVbef//9bLvttpk2bVqGDh2ajTfeOGeffXYmTZpUWc6gQYMycuTI7Lzzzs2yXi+//HLuv//+/OEPf0inTp2SJG3bts2QIUNyxx13fOg++POf/zyTJ09OY2NjNttss1xwwQXp1q1bxo4dmxdffDHz58/Pyy+/nC984Qs54YQTMmrUqLzxxhvZb7/9Ko+dxx57bI477rjss88++fWvf51rr7027dq1S1NTU37yk5/kv/7rvzJz5sycdNJJad++fX70ox/l3nvvXeYxdujQoZkwYUJ+9rOfJVlyNkD//v1z6623pnv37v/wdln6/FRTU5P999+/8jMuv/zyPPbYY2loaEjPnj0zcuTIdOzYMW+//XZGjBhROYvi29/+dg455JDlfsYrr7yS4cOHZ/bs2WnTpk1OPfXU7LnnnklW/tx64403VmffKPhI9tlnn+K5555b6dfrgn322af461//WgwYMKCYO3duccUVVxTXX399ceaZZxbXX399MXfu3GLx4sVFURTFW2+9Veyxxx7F3Llzi6IoimOOOaaYMmVKZVm333570bdv3+KNN94oiqIozjnnnOLHP/5x66/UKjz77LPFPvvsUzQ1NRUTJkwojj/++KIoiuLKK68s9tprr2LWrFmV237w37fccktxyimnFEVRFK+++mrRs2fP4s477yyKoigeeeSRYo899ijq6+vwg8p3AAAS90lEQVSLV199tejXr19RFEUxZ86cYrfddiv+53/+pyiKoli8eHFl+7WmxsbGYujQoUW/fv2K73//+8X48eOL2bNnf+h8H7y///M//3Px6KOPFkVRFPX19cXXv/714sEHH6zcbtSoUUVRLNkuffr0KebPn180NDQUX/3qV4t77rmnMsfs2bNXubyWts8++xQDBgwoBg0aVAwaNKg49NBDi6Ioip49exbXX399URRF8fjjjxe77757URRF8fbbbxf9+vUrXnrppaIoimL8+PFFz549i/nz51e+b+m/l26zuXPnFn369Cnef//9oiiKYt68eUVDQ8OH/pxqmDJlSjFo0KDlLn/66aeLvn37FldeeWXld1sUxTJff5z9ZenjxYQJE4ohQ4a0yDqtysr2haJY8rsZO3ZsURRF8cILLxT9+vUr3n777aIoll23H//4x8Wll15aFEVRPPzww8V2221XPP3000VRFMW4ceOKH/zgB5Xrlt6/xo8fX5x11lmVZSzdz6r9uFneHx544IHizDPPLA499NDivffeK4qiKN55551i8ODBxYwZM4qiKIoZM2YUe+yxR/HOO+986O/2xRdfLHbbbbfKvlNfX1/MmzevKIo1Zz8or/+gQYOKHXbYoXj44Ycrz4NFURQHH3xw8dhjjxVFseRxcul6lJ8Hb7jhhuJb3/pWUV9fX9TX1xff/OY3ixtuuKEoimK57Tp37txit912qzx+XHXVVcVFF13Uauu+1Ae3QZ8+fYoTTzyxKIpl9/dVrdfS7TRmzJjijDPOKJqamop58+YVBxxwQPH73/++KIqiOPTQQ4u77rqrKIqi+Mtf/lJsu+22lW135JFHFo888khRFEXx2GOPFYMHD27Wdbz77rtX+FhXFB++D951113FueeeWzQ2Nla2w9L9+8orryz222+/4t133y0WL15cHHzwwcVxxx1X1NfXF++9917x5S9/uXLf/+D9ZOedd678rPr6+mLBggVFUSz/N2b5MbahoaHYe++9i2nTphVFURR33nln8b3vfa/FtktRFMXVV19dXH311ZWvx4wZU9k2J598cnH55ZcXRbHkMeErX/lKZf4PrssRRxxR3HLLLUVRFMXf/va3ol+/fsWsWbM+9Lm1WvuGI0qs0NJXD+6+++7cc889uemmm/LUU08lSWbPnp2zzz47r7zySurq6vLOO+/kpZdeSp8+fVa4rJ133rnyysaOO+6Yhx56qNXWY3XddtttGTx4cGpqavLVr341F154YWbMmJEk2XPPPdO1a9fKbR944IHceOONWbBgQRYvXrzMctq2bZtBgwYlSfr165cOHTrkxRdfrLxalSRPPPFEtt5668qrYnV1ddlwww1behWXU1tbm3HjxuX555/PY489lvvvvz+//OUvc/rpp69yvgULFuTRRx/N7NmzK5e99957eeGFF/KVr3wlSXLAAQckST796U+nc+fOefPNN9PU1JTFixdXXplKko022mi1ltfSVnaq0dL16NOnT2bOnJn6+vo88cQT2W677bLVVlslSQ4//PBccsklH7r8Tp06pUePHjn99NOzxx57ZO+9917mfrGin7P0iE5rKopipdetzikeH2V/WX/99bPPPvskWbLeo0eP/phT/2NWti9MnDgxSXLkkUcmST73uc9lu+22yxNPPJF99903EyZMyMSJE9PQ0JAFCxZU7g9J0qNHj2y33XZJlqzb7373u+V+7o477pjx48dn9OjR6dev3zJHlav9uFneH+6+++4MHDgw66+/fpIlR51fe+21/Ou//mvlNjU1NXnllVey0UYbrfR3+9BDD2XPPfesbKt27dotc5rzmrIflNf/sMMOW+42X/7ylzNq1KgMHDgwe+6550pPVZw6dWoOPfTQynoedthhuf/++3P00UcnyTLbdcMNN0z//v0zYcKEfO1rX8utt96a8ePHN/fqrZal26C+vj7f//73l3tv0qrW64O3O/vss1NTU5NOnTrlwAMPzNSpU7PLLrvk+eefz8EHH5xkyWmpvXr1qnzfsccemxtvvDH9+vXLDTfckG984xstu8IlK9sHp0yZkqeeeiqHHnpokqSxsXGZx/Ldd989G2ywQZIlR6S33Xbbyv28R48emTZt2jKPFcmS+9JZZ52VfffdN3vvvXe23HLLlc71wcfYNm3aZMiQIbn55ptz+umn58Ybb8wpp5zSbNsgWXLU77TTTsvChQuzxx575Iknnsj8+fMzefLkJEuOMC09Ijx16tQMGzYsSbLppptmr732yiOPPLLMvjF//vw8++yzOfzww5Mk22yzTXr37p0nnngiRVGs9Lm1WvuGUGKlDjvssBx55JHp169fNtpoo8rlI0eOTP/+/XPVVVelpqYmAwYMSH19/UqX88Enubq6ujXuAy8WLVqUiRMnpn379pkwYUKSJW9kvPPOO5NkmVOpXn/99VxyySW57bbbsuWWW+ZPf/pTfvjDH6502UVRLPfH5Yf9IVoNPXv2TM+ePfONb3wjBxxwQJqamlb5PUvPjb7tttvStm3bFd7mo/zeV2d51bJ0PZaeTrJ48eIV/l5Xpa6uLrfcckv+9Kc/5eGHH85hhx2WX/ziF5UnmBX9nGr8gdizZ89MmzYtc+fOrZyKliwJ/J122il1dXXL3EfK+/5H2V8++AdybW3tciHV2sr7wqOPPrrcbZb+7h9//PHcdNNNufnmm9O1a9dMnDgxt9xyS+V2q7NuO+20U+6666489NBDmTBhQv7t3/4tN910U5I183Fz6R/zyZLt0KtXr9xwww3L3e61115b6fqv6vFvTdkPVsfZZ5+d5557Lg8//HBOPvnk/Mu//Eu+9rWvLXe7FT1efPDrD27XZEkgnHbaadl4442z9dZbV/09v+3bt8/ee++d3//+9/niF79YuXxV67Wq2y29fGWPpQMHDsyPf/zjPPPMM5XTWZvTdtttl1deeSXvvPPOCl+sXNk+WBRFhg4dmiOOOGKFyy1/3+rsy1dddVWefPLJPPzww/nmN7+ZkSNHVt4jXlY+vftrX/taDj300PTv3z/vvvvuar+PdGWWbpd33303nTt3zjbbbJMJEybkV7/6VZ566qkURZERI0as9Oeszn1iZd+39G+BlanGvuFT71ipLbfcMqeeemq+973vLXP5vHnzssUWW6SmpiZ//OMf88orr1Su69ixY+bNm9fao/5D7r///nzuc5/LAw88kClTpmTKlCn593//99xxxx3L3Xb+/Plp27ZtunXrlqamptx8883LXN/Q0FB5Ffrxxx9PfX39cjvyTjvtlBdeeCF//vOfkyx5Neqdd95pobVbuRkzZlRmSJI333wzs2fPzjbbbLPK+Tp16pRddtkl//Zv/1a5bPr06ZX3Ha3M5z73ubRp02aZT1CbM2fOx15etfTp0ydPP/105b6/ovtK2fz58zN79uz069cvJ510Unr27Jm//e1vLT3qR/bpT386AwcOzMiRIysR9Pzzz+c//uM/csopp+Qzn/lMnn766TQ1NWX+/Pn5/e9/v9JlrWp/WVOsbF/49Kc/nWTJ+xeTJefuP/vss9lxxx3z7rvvplOnTunSpUsWLVpUuc1H8eqrr1ZeYT/rrLMq23VtsNNOO+WVV17Jww8/XLnsL3/5yypDaPfdd88DDzyQl19+OcmSF6rmz5/fkqO2mBdffDG9evXKt771rQwaNKjyHpzy8+Buu+2WO++8Mw0NDWloaMhdd931oX/M9uzZM126dMnFF1+83NGZamhqaspjjz223FGQ1V2v3XbbLbfddluKosj8+fNzzz33ZNddd80GG2yQbbbZpvI+pKeffnqZT0Vr27ZtDj/88AwdOjQHH3xws78PZauttkr//v0zfPjwyn2wsbEx//Ef/5EFCxas9Pv69++fG2+8sfK8uGjRon/ow18WL16cV199NTvssENOOOGEfOUrX8mzzz6bZPX+puratWt22223/OAHP8jRRx/9D3+4w1ZbbZV9990355577jI/e+k26d+/f6699tosXLgwyZLH+RdeeCHJkvdZ/vrXv06SvPXWW/nDH/6w3KcBd+rUKb179668GP3CCy/kr3/9a3bcccdVPrdWY99wRIkPNWTIkOUuO+2003Leeefl5z//eXr16rXMofIhQ4Zk9OjR+fd///ecccYZrTnqx3bHHXdUDv0vtdNOO1WeHD74aX+9evXKwIEDc+CBB2bzzTfP//k//2eZj/fs0qVLXnnllRx55JFZuHBhfvzjHy/36XldunTJ2LFjM2rUqCxYsCC1tbU588wzs9tuu7XsipYsXrw4Y8eOzeuvv54OHTqkqakpp5xySrbffvvVmu+yyy7LJZdcUtl2HTt2zEUXXfShbzhv06ZNxo0bl/PPPz/jxo1LTU1NjjvuuBxyyCEfa3nNaekbZpe68MILV3rbTTbZJCNHjswJJ5yQjTbaKP3790/btm0/9Il8/vz5+f73v5+FCxdWTi/46le/2qzr0FxGjhyZH/3oRznggANSU1OTGTNm5JZbbknv3r2z9dZb5957782BBx6Yz372sx/6aZir2l/WFCvbF5aeOteuXbscddRRmTNnTs4///xsvPHG2XPPPfOf//mf2X///bPZZptl++23r/yhvLoeffTRjB8/vnKU7rzzzktt7drx+uWGG26YcePG5dJLL83FF1+choaGbLnllrnmmms+9Pu22mqrXHDBBTn11FPT2NiYurq6jBo1apnnkbXFj370o8op6J07d658iln5eXDIkCGZNm1a5VSt3XfffYVHnj7oyCOPzOWXX5699967pVdjpZY+JjY0NOTzn/98/u///b+57rrrKtev7np973vfywUXXFB5bB80aFDljfujR4/O2WefnfHjx+cLX/hCtt1228ppa8mS7XDVVVe12KftjRo1KldffXUOP/zwtG3bNk1NTdlrr70+9EjFIYcckrlz51Y+oKgoinz961+vnB3wUTU1NWXYsGGZN29eampq0r1798p/IfDNb34zZ599djp06PChn5Z5xBFH5L777qv8Lv5Rl1xyScaNG5cjjjgibdq0SefOnbPpppvmhBNOqHww0RFHHFE5InjiiSdm6623zrnnnpvhw4dXftc//OEP8/nPf3655V922WUZPnx4rr322rRp0yZjxoypnE64qufW1t43aoo17TwggLXA/PnzK+el33777bntttsqp02tSxYtWpQRI0bkzTffzDXXXLPGngbVUnr16rXCTzOElnTOOeekR48eOf7446s9SotasGBB1ltvvdTU1OTvf/97jj322Nx3332VU+EmTJiQu+++e5mzDVjeuHHj8tZbb2XEiBHVHuUftqrn1tbeNxxRAvgYrr/++tx3331pbGzMhhtu+KFHoNZm7dq1W+UHVQDNY8aMGfnmN7+Zbt265dxzz632OC3uT3/6U8aMGVM5ZfOCCy6oRNK3v/3tTJs2LT/96U+rOeIa78ADD0xdXV1++ctfVnuUZrGy59Zq7RuOKAEAAJSsHSdDAwAAtCKhBAAAUCKUAAAASoQSAJ8Yw4YNy89//vNqjwHAWsCHOQCwRtlpp50q/37//ffTrl271NXVJUnOO++8DBo0qFqjAfAJIpQAWGP1798/F154Yav/h8wA4NQ7ANYqCxcuzHnnnZfdd989e+65Z0aPHp2GhoYkyQMPPJD99tsvV155Zfr165d999039957b+V7Tz311IwbN67y9b333puDDz44O++8c7761a9m6tSprb4+AKyZ/IezAKxVrrzyyjz33HP5z//8zzQ1NeU73/lOfvGLX2To0KFJktdffz0NDQ158MEH8/jjj2fo0KHZfvvts+WWWy6znMcffzzDhw/P2LFj069fv7z55pupr6+vxioBsAZyRAmAtcrEiRPz/e9/P127ds0mm2ySoUOHZsKECZXr6+rqcuKJJ6Zdu3bZbbfdsuuuu2by5MnLLefWW2/NUUcdlS9/+cupra3N5ptvnh49erTmqgCwBhNKAKw1iqLI22+/nS222KJy2RZbbJEZM2ZUvu7atWvat2+/zPUzZ85cblnTp0/PZz7zmZYdGIC1llACYK1RU1OTTTbZJK+//nrlsjfeeCObbbZZ5es5c+YscwrdG2+8kU033XS5ZXXv3j3Tpk1r2YEBWGsJJQDWKgcddFCuvvrqzJkzJ7Nmzco111yzzEeGL168OOPGjcuiRYsyderUPPTQQxkwYMByyznyyCPz61//Oo899liampoyffr0vPTSS625KgCswXyYAwBrlZNOOimjRo3KQQcdlJqamhx44IE5/vjjK9dvscUWqaury+67755OnTrlkksuWe6DHJKkb9++GTlyZM4777y8/vrr2XTTTTNy5EjvUwIgif9HCYB1yAMPPJALLrggv/nNb6o9CgBrOafeAQAAlAglAACAEqfeAQAAlDiiBAAAUCKUAAAASoQSAABAiVACAAAoEUoAAAAl/x8YaTvoE2XkIgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 1008x576 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 了解学科的分布情况\n",
    "sns.set(rc={'figure.figsize':(14,8)})\n",
    "sns.countplot(x='Topic', data=df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f4dab96e668>"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABJgAAAJYCAYAAAAubFw+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzs3X2Q3nV97//XbjbXLpA7kixhQUYhSE4qtZTklOMZb06DHqCl4q9HB04Q5SbaYsUcaAjUxMQiUbOkY4MFc2oYYtsAg1ZoE8BYzfibwthaUI8grWiLWkiAkISQQNhN9trzh8fUyN0mn+v6Xrubx2OGGfa6dj+f936vK1c2z/l+r20bHBwcDAAAAAAcpPZWDwAAAADAyCYwAQAAAFBEYAIAAACgiMAEAAAAQBGBCQAAAIAiAhMAAAAARQQmAAAAAIoITAAAAAAUEZgAAAAAKCIwAQAAAFBEYAIAAACgiMAEAAAAQBGBCQAAAIAiHa0eoBG2b38u9fpgq8cAAAAAGPHa29ty5JFHHNDXjIrAVK8PCkwAAAAALeISOQAAAACKCEwAAAAAFBkVl8gBAAAAVG1gYG+2b9+SvXv7Wz3KQenoqOXII7szZkx5HhKYAAAAAA7C9u1b0tV1eI444ui0tbW1epwDMjg4mOeeezbbt2/J1Kk9xeu5RA4AAADgIOzd258jjpgw4uJSkrS1teWIIyY07OwrgQkAAADgII3EuPRzjZxdYAIAAACgiPdgAgAAAKjI7t27c+ON1+db3/pmarVauroOy8UXfzB/8iefzv/+3zdnypSprR7xoAhMAAAAABXp7V2Wo46alltv/XLa29vz9NNP5//8n2+3eqxiAhMAAABABR5//LE89NCDue22P057+8/etWjq1Kk5/fT/ns997rP7Pm/x4oXZtGlT+vv7c8YZZ+WCCy5Kkqxa9We5997/P2PGjMl/+k+/kj/6oyX5znceyMqVf5LkZ78Z7rrr/jRHHTWt8u9NYAIAAACowKOP/ltOPPH1GTNmzCt+3sKFizJhwsTs2bMnl156Sd72tjmZNGlSvvGNjbnlli+lvb09O3fuTJLceutf5fLLF+bXfu2U9PW9kLa21rzdtjf5BgAAAKjE4P/775V9+ctfzIUXzs28eRfk8ccfy49//GiOOGJcDjusK729y/L1r/9darWxSZJTTvn13Hjjytx++y3Ztm1barVak7+HlyYwAQAAAFTg+OOn50c/+mEGBgZe9nO+850Hct99f58bb1ydL3zhtpx66qz09/dlzJgx+fM//0L+2387Pd/5zv354AcvzODgYObOfV+uumpxBgbq+fCHP5iHHvpehd/RfxCYAAAAACpw7LGvya/8ysn58z+/MfV6PUny9NNb8pWv3LXvc557blfGj5+Qww8/PE888UTuv/9bSZLnn38+O3c+m//yX/5rLrvsijzxxOb09fXlscf+PSecMD3/83++N//5P5+WH/3okZZ8b96DCQAAAKAiV121ODfeuDLnnff/paurK4cddnguvviD++4/7bT/mr/92zvyvvedm2OPPS6/9munJvlZYPqjP7oi/f39qdfrueSS309XV1e+9KXbcv/9/5SOjo5MmzYt73jHmS35vtoGBwdf/eK/YW7r1l2p10f8twEAAACMIE888ZMcffRrWz1GkZf6Htrb2zJlyrgDWsclcgAAAAAUEZgAAAAAKCIwAQAAAFBEYAIAAACgiMAEAAAAQBGBCQAAAIAiHa0eAAAAAGC0GD+hK12dYxu+7gt9e7Lz2Rcavm6jCEwNcuTEWjpqnU3dY29/X7bv6G/qHgAAAMDB6+ocm7kL1zZ83Vt6z8/OvHJgeve7fye9vZ/JCSec2PD9X43A1CAdtc480DuvqXvMWrg6icAEAAAADC/egwkAAACAIgITAAAAAEUEJgAAAACKCEwAAAAAFBGYAAAAACjit8gBAAAANMgLfXtyS+/5TVl3KP7X//qDjBkzZt/HX/jCbZkwYULD5/llAhMAAABAg+x89oXszAst2ftLX1rXkn0Tl8gBAAAAUEhgAgAAAKCIwAQAAABAEYEJAAAAgCICEwAAAABFBCYAAAAAinS0egAAAACA0eLIibV01Dobvu7e/r5s39H/ip/z7nf/Tvbs6c+Xv3x3xowZkyS5666/zac+dU0uv/zK/I//cW7D5/o5gQkAAACgQTpqnXmgd17D1521cHWSVw5MSTJlytR861vfzJve9OYkyT33rM+MGTMbPs8vc4kcAAAAwChx1lm/k7vvXp8k2bTp8fT1vZATTpje9H0FJgAAAIBR4tRTZ+df//WHefbZZ3PPPetz5pm/Xcm+AhMAAADAKNHWlsyZ8458/etfzde//tW8/e1nVLKv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IgITAAAAAEUEJgAAAACKCEwAAAAAFBGYAAAAACgiMAEAAABQRGACAAAAoIjABAAAAEARgQkAAACAIgITAAAAAEUEJgAAAACKCEwAAAAAFBGYAAAAACgiMAEAAABQRGACAAAAoIjABAAAAEARgQkAAACAIgITAAAAAEUEJgAAAACKCEwAAAAAFBGYAAAAACgiMAEAAABQRGACAAAAoIjABAAAAEARgQkAAACAIgITAAAAAEUEJgAAAACKCEwAAAAAFBGYAAAAACjSUcUm27dvz8KFC/PTn/40tVotr33ta3PNNddk8uTJmTFjRk466aS0t/+sdfX29mbGjBlVjAUAAABAA1QSmNra2jJv3rycdtppSZLly5dnxYoV+eQnP5kkue2223LEEUdUMQoAAAAADVbJJXKTJk3aF5eS5JRTTsmmTZuq2BoAAACAJqvkDKZfVK/Xc+utt2bOnDn7brvgggsyMDCQt771rbnssstSq9UOaM0pU8Y1esxhq7t7fKtHACpU37sn7R1jR/weAFTDz4oAtErlgekTn/hEDj/88Lz3ve9NknzjG99IT09Pdu3alSuvvDI33HBDLr/88gNac+vWXanXB1/2/tH0F+2WLTtbPQJQoe7u8Xmgd15T95i1cLXXFoAmq+rnUa/nADRCe3vbAZ/MU+lvkVu+fHl+8pOf5E//9E/3val3T09PkmTcuHF5z3vek29/+9tVjgQAAABAocoC02c+85k89NBDueGGG/ZdArdjx4688MILSZK9e/dmw4YNmTlzZlUjAQAAANAAlVwi98Mf/jCrVq3K6173upx33nlJkte85jWZN29elixZkra2tuzduze//uu/nvnz51cxEgAAAAANUklgev3rX58f/OAHL3nfunXrqhgBAAAAgCap9D2YAAAAABh9BCYAAAAAighMAAAAABQRmAAAAAAoIjABAAAAUERgAgAAAKCIwAQAAABAEYEJAAAAgCICEwAAAABFBCYAAAAAighMAAAAABQRmAAAAAAoIjABAAAAUERgAgAAAKCIwAQAAABAEYEJAAAAgCJDDkw33XTTS95+8803N2wYAAAAAEaeIQemG2644SVv/9znPtewYQAAAAAYeTpe7RO++c1vJknq9Xr+4R/+IYODg/vue+yxx3LEEUc0bzoAAAAAhr1XDUyLFi1KkvT19eWjH/3ovtvb2trS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EwAAAABFBCYAAAAAighMAAAAABQRmAAAAAAoIjABAAAAUERgAgAAAKCIwAQAAABAEYEJAAAAgCIdrR4AAIBqHTmxlo5aZ1P32Nvfl+07+pu6B7wSz3OAaglMAACHmI5aZx7ondfUPWYtXJ3EP7xpHc9zgGq5RA4AAACAIgITAAAAAEUEJgAAAACKCEwAAAAAFBGYAAAAACgiMAEAAABQRGACAAAAoIjABAAAAEARgQkAAACAIgITAAAAAEUEJgAAAACKCEwAAAAAFBGYAAAAACgiMAEAAABQRGACAAAAoIjABAAAAEARgQkAAACAIgLi1ezHAAAgAElEQVQTAAAAAEUEJgAAAACKCEwAAAAAFKkkMC1fvjxz5szJjBkz8sgjj+y7/dFHH825556bM844I+eee25+/OMfVzEOAAAAAA1USWA6/fTTs3bt2hx77LH73b506dLMnTs3GzZsyNy5c7NkyZIqxgEAAACggSoJTLNnz05PT89+t23dujUPP/xwzj777CTJ2WefnYcffjjbtm2rYiQAAAAAGqSjVRtv3rw506ZNy5gxY5IkY8aMyVFHHZXNmzdn8uTJB7TWlCnjmjHiIam7e3yrR4Cma9TzvH/PQGpjxzRkrdHOMa+e13OGA8/D0cdj+mKOyX+o792T9o6xrR6jmMd0f/1796TWxMe12euPVCPxediywNRIW7fuSr0++LL3j8QHplW2bNnZ6hE4SJ7nQ9eo53l39/jMXbi2IWu9nFt6z2/q+lVxzKvn9ZxXUtXfGSPleejv0KEbKY9p4nneCt3d4/NA77ym7jFr4eqmrp94TH9Zd/f4XHjz/Katv+ailSPqmB8qry3t7W0HfDJPy36LXE9PT5588skMDAwkSQYGBvLUU0+96FI6AAAAAIa3lgWmKVOmZObMmVm/fn2SZP369Zk5c+YBXx4HAAAAQGtVconctddem69+9at5+umnc9FFF2XSpEm566678vGPfzxXX311brzxxkyYMCHLly+vYhwAAAAAGqiSwLR48eIsXrz4RbdPnz49X/ziF6sYAQAAAIAmadklcgAAAACMDgITAAAAAEUEJgAAAACKCEwAAAAAFBGYAAAAACgiMAEAAABQRGACAAAAoIjABAAAAEARgQkAAACAIgITAAAAAEUEJgAAAACKCEwAAAAAFBGYAAAAACgiMAEAAABQRGAC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\n",
      "text/plain": [
       "<Figure size 1440x720 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 了解课程和成绩的相关性\n",
    "sns.set(rc={'figure.figsize':(20,10)})\n",
    "sns.countplot(x = 'Topic', hue = 'Class',hue_order = ['L','M','H'],data = df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f4dabaaa3c8>"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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1157bU499dQBHQoAAAAGS9Oo/fLBa8+qegxGkOtOXZVEfPp3fd52d+WVV77o8auuumrAhgEAAABgZHnFO5/uvPPOJElPT0/+5V/+JfV6vffcr3/96xxwwAHlpgMAAABgWHvF+HT++ecnSTo7O/PpT3+693itVsvEiRNzwQUXlJsOAAAAgGHtFePT7bffniRZtmxZ2tvbiw8EAAAAwMjR5weO/3546unped65hoY+PzoKAAAAgH1In+PTfffdl4suuij3339/Ojt/98T2er2eWq2Wn//858UGBAAAAGD46nN8Ou+88/Jnf/Zn+dznPpfRo0eXnAkAAACAEaLP8ek3v/lNzj777NRqtZLzAAAAADCC9PlhTe9617tyxx13lJwFAAAAgBGmz3c+dXZ25swzz8ysWbNy8MEHP++c34IHAAAAwIvpc3w68sgjc+SRR5acBQAAAIARps/x6cwzzyw5BwAAAAAjUJ/j05133vmS597ylrcMyDAAAAAAjCx9jk/nn3/+817v2rUrzz33XCZPnpzbbrttwAcDAAAAYPjrc3y6/fbbn/e6u7s7V111VQ444IABHwoAAACAkaHh1b6xsbExH/nIR3L11VcP5DwAAAAAjCCvOj4lyQ9/+MPUarWBmgUAAACAEabP2+7e/va3Py80Pfvss+nq6sqKFSuKDAYAAADA8Nfn+LRy5crnvR4zZkwOO+ywjB07dsCHAgAAAGBk6HN8evOb35wk6enpyY4dO3LwwQenoeEP2rUHAAAAwAjX53r09NNPZ9myZXnTm96Ut73tbXnTm96Uc889N7t37y45HwAAAADDWJ/j0yWXXJJnn302a9euzc9+9rOsXbs2zz77bC655JKS8wEAAAAwjPV5290PfvCDfO9738uYMWOSJIcddlguvfTSvOtd7yo2HAAAAADDW5/vfGpubs7OnTufd2zXrl1pamoa8KEAAAAAGBn6fOfTySefnNNOOy0f/OAHM3Xq1GzdujXXXXdd3vOe95ScDwAAAIBhrM/x6aMf/WgmT56ctWvXZvv27Zk0aVKWLl0qPgEAAADwkvq87e6zn/1sDjvssFx33XX5zne+k+uuuy5HHHFEPvvZz5acDwAAAIBhrM/xad26dTnqqKOed+yoo47KunXrBnwoAAAAAEaGPm+7q9Vq6enped6x7u7uFxwDgCTp2vtcJk48sOox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jPgE8Apmz56d448/Pt3d3b3H/uEf/iEzZszI3//931c4GQDAi5s9e3be/e53Z+HChVm4cGE+97nPVT0SsA8bVfUAAMPBxIkTc8cdd+Ttb397kuRb3/pW3vjGN1Y8FQDAS/vbv/3bvP71r696DAB3PgH0xUknnZSbb745SfLII4/k2Wef9WUOAACgD8QngD447rjjcv/99+fJJ5/MN7/5zZx44olVjwQA8LI+/vGP9267+8EPflD1OMA+zLY7gD6o1WqZN29ebrnllnznO9/JDTfckHvvvbfqsQAAXpJtd8BQIT4B9NFf/uVf5j3veU/e/OY356CDDqp6HAAAgGFBfALoo+nTp+fss8/O0UcfXfUoAAAAw4b4BNAPixYtqnoEAACAYaVWr9frVQ8BAAAAwMjkt90BAAAAUIz4BAAAAEAx4hMAAAAAxYhPAAAAABQjPgEAAABQjPgEADCEzZgxIw8//HDVYwAAvGriEwAAAADFiE8AACPQ3r17qx4BACCJ+AQA8Krcd999OfHEE/Mnf/In+fjHP55PfOITufzyy5Mk3//+97Nw4cK0trZm8eLF+cUvftH7vtmzZ+eaa67JCSeckFmzZuUTn/hEOjs7e89fffXVOf7443P88cfnpptuet41u7q60tbWlne84x1561vfmuXLl2fPnj1Jkh/96Ed529veli996Uv50z/903zqU58ahH8KAACvTHwCAOinrq6unHnmmTnppJPy4x//OPPnz8/3vve9JL+LUp/+9Kdz0UUX5Uc/+lEWLVqUj33sY+nq6up9/3e/+91cffXVue2223L//ffn5ptvTpL88z//c7785S/ny1/+cjZs2JA777zzeddduXJltmzZkm9961vZsGFDtm/fniuvvLL3/I4dO/Lkk0/m+9//fi6++OJB+CcBAPDKxCcAgH766U9/mr179+YDH/hA9ttvv/z5n/95/viP/zhJ8vWvfz2LFi3K0UcfncbGxpx00knZb7/9snHjxt73n3LKKZk8eXJaWlr+bzt37JJaGIdx/NEuJ42GHFQkpK2pIAKhJapBaTZOuNmmgkRLS2NBf0D1JzgEBUbg1hC4uUVDBIGb4omaQoek9w4XXu6Fyw3DczX4fqb3Pb9zXn7vGR/Oe7SxsaGHhwdJv0KpbDar+fl5TU1NqVwu22eMMbq4uNDBwYFmZmY0PT2tQqGgWq1m7wkGg9rd3ZXjOAqFQv/pbQAAAPzbj1E3AAAA8N14nqd4PK5AIGCvJRIJSVKr1dLV1ZUqlYqtvb+/y/M8O49Go3YcDodtzfM8LSws2Nrs7Kwdv76+qtfrKZvN2mvGGH18fNh5JBLR5OTkMLYIAAAwNIRPAAAAA4pGo+p0OjLG2ACq3W4rmUwqkUioWCyqVCoNvG4sFlO73bbzVqtlx5FIRKFQSLVaTfF4/K/P/x6GAQAAjAuO3QEAAAxoaWlJExMTqlQq6vf7urm50f39vSTJdV2dn5/r7u5Oxhh1u13d3t7q7e3t03U3NzdVrVb19PSkXq+ns7MzWwsGg3JdV8fHx3p5eZEkdTod1et1fzYJAAAwJIRPAAAAA3IcR6enp7q8vFQqldL19bXW19flOI4WFxd1dHSkw8NDpVIpZTIZ+0Pxz6ytrSmfzyufzyudTmtlZeWP+v7+vubm5rS9va3l5WXt7Oyo2Wz6sUUAAIChCRhjzKibAAAA+O5c11Uul9PW1taoWwEAABgrfPkEAADwBY1GQ8/Pz+r3+6pWq3p8fNTq6uqo2wIAABg7/HAcAADgC5rNpvb29tTtdpVMJnVycqJYLDbqtgAAAMYOx+4AAAAAAADgG47dAQAAAAAAwDeETwAAAAAAAPAN4RMAAAAAAAB8Q/gEAAAAAAAA3xA+AQAAAAAAwDeETwAAAAAAAPDNT/zIe5ffaCezAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 1440x720 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 了解性别和成绩的相关性\n",
    "sns.countplot(x = 'gender',hue = 'Class',data = df,order = ['M','F'],hue_order = ['L','M','H'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f4dab811048>"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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K30fLG/b9fw+4HK59Oijj+qjjz7SH//4R3+XVaZefvllORwOffDBB6pSpYqcTqeWLFmigoICr/ddmn/Kvv3222rdurUiIyMvuM+b59iXX35Z+fn5Wrx4scLCwmSM0dq1a7V37141bNiwzPsrz8rPEYlypVu3blqyZInuueceHTx4UGfPnvW8aW7atEl//etf5XA45HK59PTTT6tz58764IMPtHPnTo0dO1Z//etfNXToUElSXl6enn/+ef3www+qWrWqpk+frqioKH+uXrE++OADDRkyRH/729+0YcMGdezYUdOnT9f+/ft15swZHTx4UO+8845mzZqlL774Qk6nU9WrV9f48eNVp04dTzspKSnaunWrHA6HkpKSFBcXp0OHDumRRx7Rli1bJElff/21UlNTPf89HTJkiNq0aePT9T1x4oQCAwMVHh4uSbLZbIqNjb1offHx8Zo1a5YaNWqkY8eOaezYsTpy5IgcDoc6d+6sp59+WtK5fyB07dpVGzdu1PHjx9WnTx899thjks79btq4ceN0/PhxSVKfPn3UrVu3i7bnLzExMRo0aJA++ugj5eTkaMiQIerQoYMkad26dZoyZYpCQ0PVsWNHTZkyRV999ZUqV65cpI1fbrMZM2Zo5cqVCgkJkc1m09tvv62wsDBJ0rx584rtx9cOHz6sNWvW6F//+pdCQkIkSY0aNVL//v01Y8YMbdu2TWfOnPEc39OnT/fcvpzj5fwx0atXL33yySc6e/asxo0bp7i4OJ+v88WOhZiYGA0YMECff/65srOz9cILL3hemxdffFH79u2T0+nUjTfeqPHjx6tatWrasmWLxo8fr6ZNm+rrr7+WzWbTlClT1KBBA23ZskUpKSlasmSJMjMz9eKLL3r+Y3znnXdq+PDhksrfeXPYsGGqXLmyfv75Z2VnZ2vJkiX673//q8mTJ3vOEwMHDtS99957ydf2X//6l6ZPn67CwkLZ7XZNnDhRN998s6TycxyUZNiwYWrSpIkee+wxrV+/XlOnTpXdbpfL5dIrr7yiQ4cOXfA+ePvtt2vy5Mn6z3/+I0lq27atXnrpJQUEBFywXTt16qT09HQlJiZKOrdvJiQk6OOPP9Z1113nl3V2OBxyOBwKCwsrcry7XK4S1+uXTp8+rbFjx2rHjh2SpISEBPXr10+S9OOPP+rll1/W2bNndfPNN+vAgQPq37+/IiMjNXz4cK1cudLTTkJCgpKTk9WiRYsyWa+ff/5Z69ev1yeffKIqVapIkoKCgtSzZ08tWbLkosfgG2+8oXXr1snlcqlWrVoaM2aMoqKiNH36dP3000/Ky8vTzz//rFtuuUX9+vXTxIkTdeTIEd13332ec+fjjz+uPn36qF27dnrvvfc0d+5cBQcHy+12669//av++c9/6tixYxo4cKBCQkL06quvas2aNUXOsf3799fy5cv1t7/9TdK50QDx8fFavHixoqOjf/V2Of/+ZLPZ1KlTJ08fU6ZM0datW+V0OtWoUSMlJyercuXKOnHihJKSkjyjKJ566ik99NBDF/Sxf/9+JSYmKisrS4GBgRo0aJDuvvtuSSW/ty5YsMA/x4bBZWnXrp35/vvvS7x9NWjXrp357rvvTIcOHUxOTo6ZOnWqmTdvnhk6dKiZN2+eycnJMYWFhcYYY44fP27atm1rcnJyjDHGPPbYY2bDhg2etj744AMTFxdnjhw5YowxZsSIEea1117z/UpdwrfffmvatWtn3G63Wb58uenbt68xxphp06aZe+65x2RmZnoe+8u/Fy1aZJ5//nljjDEHDx40jRo1MkuXLjXGGLNlyxbTtm1b43A4zMGDB02rVq2MMcZkZ2eb1q1bmy+//NIYY0xhYaFn+/mSy+Uy/fv3N61atTLPPvusmTNnjsnKyrpofb/c3//0pz+ZL774whhjjMPhMH/84x/NZ5995nncxIkTjTHntkuzZs1MXl6ecTqd5v777zerV6/21JGVlXXJ9rytXbt2pkOHDiYhIcEkJCSYbt26GWOMadSokZk3b54xxpht27aZNm3aGGOMOXHihGnVqpXZt2+fMcaYOXPmmEaNGpm8vDzP887/fX6b5eTkmGbNmpmzZ88aY4zJzc01Tqfzov34w4YNG0xCQsIFy3ft2mXi4uLMtGnTPK+tMabI7Ss5Xs6fL5YvX2569uzplXW6lJKOBWPOvTbTp083xhizd+9e06pVK3PixAljTNF1e+2118ykSZOMMcZs3rzZNG7c2OzatcsYY0xaWpp54YUXPPed37/mzJljXn75ZU8b548zf583rcfDp59+aoYOHWq6detmTp8+bYwx5uTJk6Zr164mIyPDGGNMRkaGadu2rTl58uRFX9uffvrJtG7d2nPsOBwOk5uba4wpP8eBdf0TEhLMbbfdZjZv3ux5HzTGmAcffNBs3brVGHPuPHl+Pazvg/PnzzdPPvmkcTgcxuFwmCeeeMLMnz/fGGMu2K45OTmmdevWnvPHjBkzzLhx43y27uf9chs0a9bMDBgwwBhT9Hi/1Hqd306pqalmyJAhxu12m9zcXPPAAw+Yf//738YYY7p162aWLVtmjDHmm2++MTfffLNn2/Xo0cNs2bLFGGPM1q1bTdeuXct0HVetWlXsuc6Yix+Dy5YtMyNHjjQul8uzHc4f39OmTTP33XefOXXqlCksLDQPPvig6dOnj3E4HOb06dPmjjvu8Oz7v9xPWrRo4enL4XCYM2fOGGMu/IxpPcc6nU5z7733mgMHDhhjjFm6dKl55plnvLZdjDFm5syZZubMmZ7bqampnm3z3HPPmSlTphhjzp0T7rrrLk/9v1yX7t27m0WLFhljjPnhhx9Mq1atTGZm5kXfW/11bHBFCcU6/9+DVatWafXq1Xr33Xe1c+dOSVJWVpaGDx+u/fv3KyAgQCdPntS+ffvUrFmzYttq0aKF5z8bTZs21caNG322HqX1/vvvq2vXrrLZbLr//vs1duxYZWRkSJLuvvtuRUREeB776aefasGCBTpz5owKCwuLtBMUFKSEhARJUqtWrRQaGqqffvrJ898qSdq+fbsaNGjg+a9YQECAqlWr5u1VvIDdbldaWpr27NmjrVu3av369XrzzTc1ePDgS9Z35swZffHFF8rKyvIsO336tPbu3au77rpLkvTAAw9Ikm644QaFhYXp6NGjcrvdKiws9PxnSpKqV69eqva8raShRufXo1mzZjp27JgcDoe2b9+uxo0bq169epKkRx55RBMmTLho+1WqVFH9+vU1ePBgtW3bVvfee2+R/aK4fs5f0fElc5HfIC/NEI/LOV4qVaqkdu3aSTq33ikpKVdY9a9T0rGwYsUKSVKPHj0kSTfddJMaN26s7du3q3379lq+fLlWrFghp9OpM2fOePYHSapfv74aN24s6dy6/etf/7qg36ZNm2rOnDlKSUlRq1atilxV9vd503o8rFq1Sh07dlSlSpUknbvqfOjQIf3lL3/xPMZms2n//v2qXr16ia/txo0bdffdd3u2VXBwcJFhzuXlOLCu/8MPP3zBY+644w5NnDhRHTt21N13313iUMVNmzapW7dunvV8+OGHtX79evXu3VuSimzXatWqKT4+XsuXL9cf/vAHLV68WHPmzCnr1SuV89vA4XDo2WefveC7SZdar18+bvjw4bLZbKpSpYo6d+6sTZs2qWXLltqzZ48efPBBSeeGpcbExHie9/jjj2vBggVq1aqV5s+fr0cffdS7K2xR0jG4YcMG7dy5U926dZMkuVyuIufyNm3aqGrVqpLOXZG++eabPft5/fr1deDAgSLnCuncvvTyyy+rffv2uvfee1W3bt0S6/rlOTYwMFA9e/bUwoULNXjwYC1YsEDPP/98mW0D6dxVvxdffFH5+flq27attm/frry8PK1bt07SuStM568Ib9q0ScOGDZMk1axZU/fcc4+2bNlS5NjIy8vTt99+q0ceeUSS1LBhQ8XGxmr79u0yxpT43uqvY4OghBI9/PDD6tGjh1q1aqXq1at7licnJys+Pl4zZsyQzWZThw4d5HA4Smznl29yAQEB5W7Ci4KCAq1YsUIhISFavny5pHNfZFy6dKkkFRlKdfjwYU2YMEHvv/++6tatq6+++kovvfRSiW0bYy74cHmxD6L+0KhRIzVq1EiPPvqoHnjgAbnd7ks+5/zY6Pfff19BQUHFPuZyXvfStOcv59fj/HCSwsLCYl/XSwkICNCiRYv01VdfafPmzXr44Yc1e/ZszxtMcf344wNio0aNdODAAeXk5HiGoknnAn7z5s0VEBBQZB+xHvuXc7z88gOy3W6/IEj5mvVY+OKLLy54zPnXftu2bXr33Xe1cOFCRUREaMWKFVq0aJHncaVZt+bNm2vZsmXauHGjli9frr///e969913JZXP8+b5D/PSue0QExOj+fPnX/C4Q4cOlbj+lzr/lZfjoDSGDx+u77//Xps3b9Zzzz2nP//5z/rDH/5wweOKO1/88vYvt6t0LiC8+OKLioyMVIMGDfz+nd+QkBDde++9+ve//61bb73Vs/xS63Wpx51fXtK5tGPHjnrttde0e/duz3DWstS4cWPt379fJ0+eLPaflSUdg8YY9e/fX927dy+2XevzSnMsz5gxQzt27NDmzZv1xBNPKDk52fMdcSvr8O4//OEP6tatm+Lj43Xq1KlSf4+0JOe3y6lTpxQWFqaGDRtq+fLleuedd7Rz504ZY5SUlFRiP6XZJ0p63vnPAiXxx7HBrHcoUd26dTVo0CA988wzRZbn5uaqTp06stls+vzzz7V//37PfZUrV1Zubq6vS/1V1q9fr5tuukmffvqpNmzYoA0bNuitt97SkiVLLnhsXl6egoKCFBUVJbfbrYULFxa53+l0ev4LvW3bNjkcjgsO5ObNm2vv3r36+uuvJZ37b9TJkye9tHYly8jI8NQgSUePHlVWVpYaNmx4yfqqVKmili1b6u9//7tnWXp6uud7RyW56aabFBgYWGQGtezs7Ctuz1+aNWumXbt2efb94vYVq7y8PGVlZalVq1YaOHCgGjVqpB9++MHbpV62G264QR07dlRycrInBO3Zs0f/+Mc/9Pzzz+vGG2/Url275Ha7lZeXp3//+98ltnWp46W8KOlYuOGGGySd+/6idG7s/rfffqumTZvq1KlTqlKlisLDw1VQUOB5zOU4ePCg5z/sL7/8sme7VgTNmzfX/v37tXnzZs+yb7755pJBqE2bNvr000/1888/Szr3j6q8vDxvluo1P/30k2JiYvTkk08qISHB8x0c6/tg69attXTpUjmdTjmdTi1btuyiH2YbNWqk8PBwjR8//oKrM/7gdru1devWC66ClHa9Wrdurffff1/GGOXl5Wn16tW68847VbVqVTVs2NDzPaRdu3YVmRUtKChIjzzyiPr3768HH3ywzL+HUq9ePcXHxysxMdGzD7pcLv3jH//QmTNnSnxefHy8FixY4HlfLCgo+FWTvxQWFurgwYO67bbb1K9fP91111369ttvJZXuM1VERIRat26tF154Qb179/7VkzvUq1dP7du318iRI4v0fX6bxMfHa+7cucrPz5d07jy/d+9eSee+Z/nee+9Jko4fP65PPvnkgtmAq1SpotjYWM8/o/fu3avvvvtOTZs2veR7qz+ODa4o4aJ69ux5wbIXX3xRo0aN0htvvKGYmJgil8p79uyplJQUvfXWWxoyZIgvS71iS5Ys8Vz6P6958+aeN4dfzvYXExOjjh07qnPnzqpdu7Z+97vfFZneMzw8XPv371ePHj2Un5+v11577YLZ88LDwzV9+nRNnDhRZ86ckd1u19ChQ9W6dWvvrqhFYWGhpk+frsOHDys0NFRut1vPP/+8mjRpUqr6Jk+erAkTJni2XeXKlTVu3LiLfuE8MDBQaWlpGj16tNLS0mSz2dSnTx899NBDV9ReWTr/hdnzxo4dW+Jja9SooeTkZPXr10/Vq1dXfHy8goKCLvpGnpeXp2effVb5+fme4QX3339/ma5DWUlOTtarr76qBx54QDabTRkZGVq0aJFiY2PVoEEDrVmzRp07d9ZvfvObi86Geanjpbwo6Vg4P3QuODhYvXr1UnZ2tkaPHq3IyEjdfffd+vDDD9WpUyfVqlVLTZo08XxQLq0vvvhCc+bM8VylGzVqlOz2ivH/y2rVqiktLU2TJk3S+PHj5XQ6VbduXc2aNeuiz6tXr57GjBmjQYMGyeVyKSAgQBMnTizyPlJRvPrqq54h6GFhYZ5ZzKzvgz179tSBAwc8Q7XatGlT7JWnX+rRo4emTJmie++919urUaLz50Sn06nf/va3+t///V+9/fbbnvtLu17PPPOMxowZ4zm3JyQkeL64n5KSouHDh2vOnDm65ZZbdPPNN3uGrUnntsOMGTO8NtvexIkTNXPmTD3yyCMKCgqS2+3WPffcc9ErFQ899JBycnI8ExQZY/THP/7RMzrgcrndbg0bNky5ubmy2WyKjo72/ITAE088oeHDhys0NPSis2V2795da9eu9bwWv9aECROUlpam7t27KzAwUGFhYapZs6b69evnmZioe/funiuCAwYMUIMGDTRy5EglJiZ6XuuXXnpJv/3tby9of/LkyUpMTNTcuXMVGBio1NRUz3DCS723+vrYsJnyNg4IACqAvLw8z7j0Dz74QO+//75n2NTVpKCgQElJSTp69KhmzZpVbodBeUtMTEyxsxkC3jRixAjVr19fffv29XcpXnXmzBldd911stls+vHHH/X4449r7dq1nqFwy5cv16pVq4qMNsCF0tLSdPz4cSUlJfm7lF/tUu+tvj42uKIEAFdg3rx5Wrt2rVwul6pVq3bRK1AVWXBw8CUnqgBQNjIyMvTEE08oKipKI0eO9Hc5XvfVV18pNTXVM2RzzJgxnpD01FNP6cCBA3r99df9WWK517lzZwUEBOjNN9/0dylloqT3Vn8dG1xRAgAAAACLijEYGgAAAAB8iKAEAAAAABYEJQAAAACwICgBAK4Zw4YN0xtvvOHvMgAAFQCTOQAAypXmzZt7/j579qyCg4MVEBAgSRo1apQSEhL8VRoA4BpCUAIAlFvx8fEaO3asz3+QGQAAht4BACqU/Px8jRo1Sm3atNHdd9+tlJQUOZ1OSdKnn36q++67T9OmTVOrVq3Uvn17rVmzxvPcQYMGKS0tzXN7zZo1evDBB9WiRQvdf//92rRpk8/XBwBQPvGDswCACmXatGn6/vvv9eGHH8rtdut//ud/NHv2bPXv31+SdPjwYTmdTn322Wfatm2b+vfvryZNmqhu3bpF2tm2bZsSExM1ffp0tWrVSkePHpXD4fDHKgEAyiGuKAEAKpQVK1bo2WefVUREhGrUqKH+/ftr+fLlnvsDAgI0YMAABQcHq3Xr1rrzzju1bt26C9pZvHixevXqpTvuuEN2u121a9dW/fr1fbkqAIByjKAEAKgwjDE6ceKE6tSp41lWp04dZWRkeG5HREQoJCSkyP3Hjh27oK309HTdeOON3i0YAFBhEZQAABWGzWZTjRo1dPjwYc+yI0eOqFatWp7b2dnZRYbQHTlyRDVr1rygrejoaB04cMC7BQMAKiyCEgCgQunSpYtmzpyp7OxsZWZmatasWUWmDC8sLFRaWpoKCgq0adMmbdy4UR06dLignR49eui9997T1q1b5Xa7lZ6ern379vlyVQAA5RiTOQAAKpSBAwdq4sSJ6tKli2w2mzp37qy+fft67q9Tp44CAgLUpk0bValSRRMmTLhgIgdJiouLU3JyskaNGqXDhw+rZs2aSk5O5ntKAABJ/I4SAOAq8umnn2rMmDH66KOP/F0KAKCCY+gdAAAAAFgQlAAAAADAgqF3AAAAAGDBFSUAAAAAsCAoAQAAAIAFQQkAAAAALAhKAAAAAGBBUAIAAAAAC4ISAAAAAFj8PxEQVH+ed5PKAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 1008x504 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 了解性别和学科的相关性\n",
    "sns.set(rc={'figure.figsize':(14,7)})\n",
    "sns.countplot(x='Topic', hue = 'gender', data=df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Topic</th>\n",
       "      <th>gender</th>\n",
       "      <th>Count</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Arabic</td>\n",
       "      <td>F</td>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Arabic</td>\n",
       "      <td>M</td>\n",
       "      <td>43</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Biology</td>\n",
       "      <td>F</td>\n",
       "      <td>10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Biology</td>\n",
       "      <td>M</td>\n",
       "      <td>20</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     Topic gender  Count\n",
       "0   Arabic      F     16\n",
       "1   Arabic      M     43\n",
       "2  Biology      F     10\n",
       "3  Biology      M     20"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_temp = df[['Topic', 'gender']]\n",
    "df_temp['Count'] = 1\n",
    "df_temp = df_temp.groupby(['Topic','gender']).agg('sum').reset_index()\n",
    "df_temp.head(4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Topic</th>\n",
       "      <th>Count</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Arabic</td>\n",
       "      <td>59</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Biology</td>\n",
       "      <td>30</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Chemistry</td>\n",
       "      <td>24</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>English</td>\n",
       "      <td>45</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       Topic  Count\n",
       "0     Arabic     59\n",
       "1    Biology     30\n",
       "2  Chemistry     24\n",
       "3    English     45"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_temp2 = df_temp\n",
    "df_temp2 = df_temp2.groupby('Topic').agg('sum').reset_index()\n",
    "df_temp2.head(4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Topic</th>\n",
       "      <th>gender</th>\n",
       "      <th>Count_x</th>\n",
       "      <th>Count_y</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Arabic</td>\n",
       "      <td>F</td>\n",
       "      <td>16</td>\n",
       "      <td>59</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Arabic</td>\n",
       "      <td>M</td>\n",
       "      <td>43</td>\n",
       "      <td>59</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Biology</td>\n",
       "      <td>F</td>\n",
       "      <td>10</td>\n",
       "      <td>30</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Biology</td>\n",
       "      <td>M</td>\n",
       "      <td>20</td>\n",
       "      <td>30</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Chemistry</td>\n",
       "      <td>F</td>\n",
       "      <td>12</td>\n",
       "      <td>24</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       Topic gender  Count_x  Count_y\n",
       "0     Arabic      F       16       59\n",
       "1     Arabic      M       43       59\n",
       "2    Biology      F       10       30\n",
       "3    Biology      M       20       30\n",
       "4  Chemistry      F       12       24"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_temp = pd.merge(df_temp,df_temp2, on = ('Topic'), how = 'left')\n",
    "df_temp.head(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Topic</th>\n",
       "      <th>gender</th>\n",
       "      <th>Count_x</th>\n",
       "      <th>Count_y</th>\n",
       "      <th>gender proportion in topic</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Arabic</td>\n",
       "      <td>F</td>\n",
       "      <td>16</td>\n",
       "      <td>59</td>\n",
       "      <td>0.271186</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Arabic</td>\n",
       "      <td>M</td>\n",
       "      <td>43</td>\n",
       "      <td>59</td>\n",
       "      <td>0.728814</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Biology</td>\n",
       "      <td>F</td>\n",
       "      <td>10</td>\n",
       "      <td>30</td>\n",
       "      <td>0.333333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Biology</td>\n",
       "      <td>M</td>\n",
       "      <td>20</td>\n",
       "      <td>30</td>\n",
       "      <td>0.666667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Chemistry</td>\n",
       "      <td>F</td>\n",
       "      <td>12</td>\n",
       "      <td>24</td>\n",
       "      <td>0.500000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       Topic gender  Count_x  Count_y  gender proportion in topic\n",
       "0     Arabic      F       16       59                    0.271186\n",
       "1     Arabic      M       43       59                    0.728814\n",
       "2    Biology      F       10       30                    0.333333\n",
       "3    Biology      M       20       30                    0.666667\n",
       "4  Chemistry      F       12       24                    0.500000"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_temp['gender proportion in topic'] = df_temp['Count_x']/df_temp['Count_y']\n",
    "df_temp.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f4daae46b38>"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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Fi3KHnvskauvvjpTp07NG2+8kcWLFydJbrrppkyYMKHkaQEAgF1d6Xei3k5dXV1mzZqVGTNmpLm5OcOGDcvs2bPLHgsAANjF1VxELVq0qP2fDz300MyfP7/EaQAAALZW+nI+AACAHYmIAgAAKEBEAQAAFCCiAAAAChBRAAAABYgoAACAAkQUAABAASIKAACgABEFAABQgIgCAAAoQEQBAAAUIKIAAAAKEFEAAAAFiCgAAIACRBQAAEABIgoAAKAAEQUAAFCAiAIAAChARAEAABQgogAAAAoQUQAAAAWIKAAAgAJEFAAAQAEiCgAAoAARBQAAUICIAgAAKEBEAQAAFCCiAAAAChBRAAAABYgoAACAAkQUAABAASIKAACgABEFAABQgIgCAAAoQEQBAAAUIKIAAAAKEFEAAAAFiCgAAIACRBQAAEABIgoAAKAAEQUAAFCAiAIAAChARAEAABQgogAAAAoQUQAAAAWIKAAAgAJEFAAAQAEiCgAAoICGsgdYt25dpk2blt///vdpbGzMPvvsk/PPPz/9+/fPww8/nOnTp6e5uTnDhg3L7NmzM2DAgLJHBgAAdmGl34mqVCqZOnVqFi5cmPnz52fvvffOJZdckra2tpxxxhmZPn16Fi5cmLFjx+aSSy4pe1wAAGAXV3pE9e3bN4cddlj7z6NHj87y5cvz2GOPpampKWPHjk2STJ48Offcc09ZYwIAACSpgYj6U9VqNTfeeGPGjRuXFStWZM8992zf179//1Sr1bz66qslTggAAOzqSv9M1J+64IILsttuu+W4447LT37yk0455oABvTrlOEDXGTSod9kjADXC9QDYEdRMRM2cOTMvvPBC5s2bl7q6ugwdOjTLly9v37927dpUKpX07du30HHXrNmYarWts8fdigs+vDevvLKh7BE6jesBvDc70/UAqH11dZVtuulSE8v5Lr300jz++OOZM2dOGhsbkyQHHXRQ3njjjSxevDhJctNNN2XChAlljgkAAFD+nainn3468+bNy7777pvJkycnSfbaa6/MmTMns2bNyowZM7Z6xDkAAECZSo+o973vffnd7373lvsOPfTQzJ8/fztPBAAA8PZqYjkfAADAjkJEAQAAFCCiAAAACij9M1EAAOw6+u3emIbGprLHqClbWpqzbn1L2WNQgIgCAGC7aWhsyoOzppY9Rk0ZM+2qJCJqR2I5HwAAQAEiCgAAoAARBQAAUICIAgAAKEBEAQAAFCCiAAAAChBRAAAABYgoAACAAkQUAABAASIKAACgABEFAABQgIgCAAAoQEQBAAAUIKIAAAAKEFEAAAAFiCgAAIACRBQAAEABIgoAAKAAEQUAAFCAiAIAAChARAEAABQgogAAAAoQUQAAAAWIKAAAgAIayh4AAGBn1btP93Rv6lb2GEAnE1EAAF2ke1O3TJl2fdlj1JQbZn2h7BHgPbOcDwAAoAARBQAAUICIAgAAKEBEAQAAFCCiAAAAChBRAAAABXjEOQAAlKhly+YMGtS77DFqTnNLS15b31z2GG9JRAEAQIkaG7rlhGtOL3uMmnPtiZclqc2IspwPAACgABEFAABQgIgCAAAoQEQBAAAUIKIAAAAKEFEAAAAFiCgAAIACRBQAAEABIgoAAKCAmo+opUuXZtKkSRk/fnwmTZqU559/vuyRAACAXVjNR9SMGTMyZcqULFy4MFOmTMn06dPLHgkAANiFNZQ9wDtZs2ZNlixZkmuuuSZJMnHixFxwwQVZu3Zt+vfv36Fj1NVVunLEdgP79dwu59mRNPYZUPYINWlgr4792d2VbK9/T7cX14O35prwZq4Hb7azXQ8S14S34nrwZq4Hb62rrwnbevxKW1tbWyfP0mkef/zxnHnmmbnrrrvat33qU5/K7Nmz8+d//uclTgYAAOyqan45HwAAQC2p6YgaOnRoVq5cmdbW1iRJa2trVq1alaFDh5Y8GQAAsKuq6YgaMGBARo0alQULFiRJFixYkFGjRnX481AAAACdraY/E5Ukzz77bM4666y89tpr6dOnT2bOnJnhw4eXPRYAALCLqvmIAgAAqCU1vZwPAACg1ogoAACAAkQUAABAASIKAACggIayB4Cusn79+hxxxBGZPHlyzjnnnLLHAUo0bty4NDY2pqmpKc3NzRk7dmxmzJiRbt26lT0aUILNmzdn7ty5ufvuu9PQ0JBqtZqPfexj+cY3vuG6QIe4E8VOa/78+Rk9enTuuuuutLS0lD0OULJ/+qd/yh133JG77rorzzzzTH7yk5+UPRJQkrPPPjvPPPNMbr311tx111258847s99++/n7Ah0mothp3XrrrfnKV76S97///Vm0aFHZ4wA1orm5Oc3NzenTp0/ZowAleP7553PfffflwgsvTK9evZIk3bp1y6RJk9KzZ8+Sp2NHYTkfO6Unn3wy69evz4c//OG88sorufXWW/PJT36y7LGAEv393/99mpqa8vvf/z5HHHFEjjjiiLJHAkqwZMmS7LPPPtl9993LHoUdmDtR7JRuueWWHHvssalUKvmrv/qrPPLII1m5cmXZYwEl+q/lfL/+9a/T3Nyca6+9tuyRANhBiSh2Oi0tLZk/f35uvfXWjBs3Lp/61KeyefPm3H777WWPBtSApqamHHnkkfnVr35V9ihACQ488MC88MILWb9+fdmjsAMTUex07rvvvgwfPjw/+9nPsmjRoixatCg//OF/U8vuAAAFk0lEQVQPc9ttt5U9GlADqtVqfvOb32TfffctexSgBPvuu2/GjRuX6dOnZ+PGjUmS1tbWXHfdddm0aVPJ07Gj8Jkodjq33XZbjj766K22feADH2j/i9MHP/jBkiYDyvRfn4navHlz3ve+9+WrX/1q2SMBJfnud7+bOXPm5DOf+Uy6devW/ojzxsbGskdjB1Fpa2trK3sIAACAHYXlfAAAAAWIKAAAgAJEFAAAQAEiCgAAoAARBQAAUICIAmCnN3XqVF+4DUCn8YhzAEq1ePHiXHLJJXn66adTX1+f4cOH55vf/GYOPvjgbTre97///bzwwgu55JJLOnnSNx975MiR6dGjRyqVShobG3PAAQdk0qRJ+dSnPtXp5wagdviyXQBKs3Hjxpx66qk577zzMmHChGzevDmLFy/eob7w8o477sg+++yTtWvX5mc/+1nOP//8PPfccznttNPKHg2ALmI5HwClWbp0aZJk4sSJqa+vT/fu3XPEEUfkgAMOSJLccsstmTBhQj74wQ/m5JNPzrJly9p/7dNPP50TTzwxH/rQh/KRj3wk8+bNy89+9rNceeWV+fGPf5wPfOADOeaYY5Ikxx9/fG6++eYkSbVazdy5c/Pxj388hx9+eKZNm5YNGzYkSV566aWMHDkyt99+e4488sgcdthhueKKKzr0Xvr3759Pf/rTOe+883LllVdm3bp1nfb7BEBtEVEAlGa//fZLfX19zjzzzPz7v/971q9f377vvvvuy5VXXpnLL788DzzwQMaMGZNvfOMbSf54B+vEE0/MX/zFX+TnP/957r333hx++OH56Ec/mi996UuZMGFCHnroodx5551vOudtt92W22+/PT/60Y9y33335Q9/+EPOP//8rV7z4IMP5p577sl1112XOXPm5Nlnn+3wezrqqKPS2tqaRx99dBt/VwCodSIKgNL06tUrN9xwQyqVSr71rW/l8MMPz6mnnprVq1fnpptuyimnnJIRI0akoaEhp556ap544oksW7YsP/3pTzNw4MCcdNJJaWpqSq9evXLIIYd06Jzz58/PCSeckL333js9e/bM17/+9dx9993ZsmVL+2tOO+20dO/ePQcccEAOOOCAPPnkkx1+T926dUu/fv22CkIAdi4+EwVAqUaMGJHvfve7SZJnn302Z5xxRi6++OIsX748F198cWbOnNn+2ra2tqxcuTIrVqzIn/3Zn23T+VatWpVhw4a1/zxs2LBs2bIla9asad82cODA9n/u0aNH/vCHP3T4+Js3b87atWuz++67b9N8ANQ+EQVAzRgxYkT+5m/+Jv/yL/+SoUOH5tRTT23/XNOfWr58ee666663PEalUnnHcwwePHirz1YtX748DQ0NGTBgQF5++eX39gaS3H///amvr9/mpwsCUPss5wOgNM8++2x++MMftsfLihUrsmDBghxyyCGZPHlyfvCDH+Tpp59OkmzYsCE//vGPkyRHHnlkVq9enWuvvTYtLS3ZuHFjHnnkkSTJgAEDsmzZslSr1bc858SJE3PdddflxRdfzKZNm3LppZdmwoQJaWh4b/+/4quvvpo777wz559/fr74xS+mX79+7+l4ANQud6IAKE2vXr3yyCOP5JprrsmGDRvSu3fvfPzjH8+0adPSq1evbNq0KV//+tezbNmy9O7dOx/5yEcyYcKE9OrVKz/84Q9z0UUXZc6cOWlsbMzf/d3f5ZBDDsknP/nJ3HnnnTnssMOy1157velLdj/zmc9k5cqVOe6449Lc3Jwjjjgi3/rWt7b5PRx77LGpVCrp1q1bRo4cmbPPPjtHH330e/2tAaCG+bJdAACAAiznAwAAKEBEAQAAFCCiAAAAChBRAAAABYgoAACAAkQUAABAASIKAACgABEFAABQgIgCAAAo4P8BFL3vIdjFzb0AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 1008x504 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 了解班级和成绩的相关性\n",
    "sns.countplot(x = 'SectionID',hue = 'Class',data = df,hue_order = ['L','M','H'])\n",
    "\n",
    "# 从这里可以看出，虽然每个班人数较少，但是没有哪个班级优秀人数的比例很突出，这个特征可以考虑删除"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3.2 分类型特征和数字型特征之间的可视化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f4d9f7bf668>"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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99xzslqtKi0tVWpqqqqqqhQSEqKsrCzFxsY22XEBAC1fTk5Oveft2rVTz5491bFjR4MSAQD83UWL0rXXXnvRJVclz5ddzcrKUqdOnSRJH374oaZOnarVq1crPT1dSUlJSkxMVH5+vtLS0rR48WIP4wMAIA0aNEiSVFdXp8OHDys8PFxms9ngVAAAf3bRouS+3Ko7k8nk8bKr/y5JknT8+HGZTCZVVFSopKREixYtkiQlJCRo1qxZqqysVGhoqEf7BQDg+PHjmjlzptasWaMzZ84oICBAd955p6ZPn15v/AEAwFMXLUruy61ermnTpmnz5s1yOp168803ZbfbFRUVJYvFIunsKkWRkZGy2+0NKkphYUytAIwUEcEfoi2RP53X2bNnq6amRgUFBYqJidEPP/ygF154QbNnz1ZWVpbR8QAAfuiiRelC/v73vysgIEA2m61BPzdnzhxJUl5enrKzs5WcnNyYw5+jouK46upYeKI186c/6FqiQ4eqvbJfzquxPD2vZrPJ8A+sPv74Y3344Ydq166dJKlnz57KzMzUbbfd5tHPHzlyRM8++6y+//57BQYGqkePHpo5c6ZCQ0O1c+dOpaWlqba2VjExMcrJyVFYWJg3fx0AQDPg0QTuBx54QNu3b5ckvf7663rmmWf09NNPa8GCBY066OjRo7V161ZdccUVKisrk8PhkHT2BoHl5eWKjo5u1H4BAK1TUFCQKisr6207cuSIAgMDPfp5k8mkX//61yoqKlJBQYG6d++uefPmyel0avLkyUpLS1NRUZFsNpvmzZvnjV8BANDMeFSUvvrqK/Xr10+StHLlSv3xj3/UihUrtHz5co8OcuLECdntdtfzDRs2qHPnzgoLC5PValVhYaEkqbCwUFarle8nAQAa5L777tPDDz+sZcuWaePGjVq2bJnGjx+v//qv//Lo50NCQjR48GDX8379+unAgQPatWuXgoKCXDMoxo4dq7Vr13rldwAANC8eTb2rq6uTyWTS999/L6fTqbi4OEnS0aNHPTpITU2NkpOTVVNTI7PZrM6dO2vBggUymUzKyMhQamqqcnNzFRwczFxyAECDTZo0SZGRkSosLFR5ebkiIyP161//Wvfdd1+D91VXV6dly5YpPj5edrtdXbt2db0WGhqquro61y0tAAAtl0dFacCAAZo5c6YOHTrkmu/9/fffq0uXLh4dJDw8XCtWrDjva3FxcVq5cqWHcQEAOJfJZNJ9993XqGLkbtasWWrfvr0eeOABffDBB02QjkWHAKPxndeWydvn1aOilJmZqUWLFik0NFTjx4+XJH377bd68MEHvRoOAABPbdq0Sbt379aPP/5Yb3tDFg7KysrS3r17tWDBApnNZkVHR+vAgQOu1ysrK2UymRp8NYlFh8Af6sZi0aGWyduLDnlUlLp06aJnnnmm3rZbbrmlwQcDAMAbZs6cqT//+c8aPHiwa+W7hnrhhRf0+eef6/XXX3ctAtG3b1+dPHlSxcXFstlsWr58uUaOHNmU0QEAzdQFi9Jrr72mSZMmSZJeeumlC+6gqZb4BgCgsd5//33l5eU1etXUr776SgsWLFBsbKzGjh0rSerWrZteffVVZWdnKz09vd7y4ACAlu+CRengwYNyOp0ymUw6ePCgLzMBANAgISEh6tSp8VNgfvKTn+iLL74472v9+/dXQUFBo/cNAPBPFyxKM2bM0I033qhRo0bpoYceUu/evX2ZCwAAj40bN04pKSl65JFHFB4eXu+17t27G5QKAODPLvodpYyMDL333nu6//77FRcXp7vvvlsJCQnc5wgA0KxkZGRIkj766KN6200mk3bv3u37QAAAv3fRojR8+HANHz5cx44d05o1a5Sfn6+cnBwNGTJEd999t+Lj49WmTRtfZQUA4Lz27NljdIRWb8eOYhUUrNZdd92t/v1tRscBgMtm9uRNwcHBGjt2rJYtW6Y1a9aob9++yszM1I033ujtfAAAwA+sXPmOdu/+p1aufMfoKADQJDxaHvzfTp06pV27dumzzz7T4cOHdf3113srFwAAHtu3b59efPHF895HyX06HryjpuZkvUcA8HceFaXi4mLl5+frz3/+s8LCwjRq1Cilp6crJibG2/kAALiklJQUde/eXVOmTGn0fZQAAPhPFy1KL7/8svLz83X06FH9/Oc/18KFCzVgwABfZQMAwCNfffWVli1bJrPZoxnlAABc0kWL0s6dO/X0009r+PDhCgoK8lUmAAAaZODAgSopKVHfvn2NjgIAaCEuWpTeeustX+UAAKDRYmJiNH78eN1+++3n3EcpOTnZoFQAAH/WoMUcAABojmpqahQfH68zZ87o4MGDru0Oh8PAVAAAf0ZRAgD4vczMzHrP9+zZo/z8fBUUFBiUCADg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KCjQokWLVFpaqg4dOuinP/2pJk6caHQsAAAkMU4BDUFRAprIokWL9Prrr2vGjBm68cYb1aZNG3388cdav3692rdvb3Q8AEArxzgFNAxT74AmUF1drfnz5ystLU2333672rdvrzZt2ig+Pl5Tpkw55/1PPvmkhgwZogEDBuiXv/ylvvrqK9drGzdu1B133KHrr79eN910k9566y1JUmVlpR555BHZbDYNGjRISUlJqqur89nvCADwX4xTQMNxRQloAp988olqa2t12223efT+m2++WXPnzlVgYKBycnKUkpKi/Px8SdK0adP04osvymaz6ejRo9q/f7+ks58ERkVFacuWLZKkTz/9VCaTyTu/EACgRWGcAhqOK0pAE6iqqlKXLl0UEODZZw/33XefOnbsqMDAQD3xxBPas2ePqqurJUkBAQH6+uuvdfz4cXXu3Fl9+vRxbT906JAOHDigNm3ayGazMQABADzCOAU0HEUJaAIhISE6cuSIzpw5c8n3OhwOzZs3T8OHD1f//v0VHx8vSTpy5Igkaf78+dq4caNuvfVWPfDAA/rkk08kSePHj1ePHj308MMPa9iwYXr99de99wsBAFoUximg4ShKQBO4/vrrFRQUpA8//PCS7y0oKND69eu1aNEibd++XRs2bJAkOZ1OSdK1116r1157TX/72980fPhwPfXUU5Kkjh07KjU1VevXr9eCBQu0aNEi1/QGAAAuhnEKaDiKEtAEOnXqpCeffFIzZ87Uhx9+qJqaGp0+fVobN25UdnZ2vfeeOHFCgYGB6tKli2pqavT888+7Xjt16pTee+89VVdXq02bNurQoYMsFosk6S9/+Yv27t0rp9Opjh07ymKxyGzmnzAA4NIYp4CGYzEHoImMGzdOYWFhys3NVUpKijp06KA+ffpo4sSJ2rx5s+t9o0eP1qZNm3TTTTcpJCREycnJWrZsmev1/Px8zZo1Sw6HQz179nQNYHv37tWsWbNUWVmp4OBg/eIXv9DgwYN9/nsCAPwT4xTQMCbnv6+jAgAAAAAkMfUOAAAAAM5BUQIAAAAANxQlAAAAAHBDUQIAAAAANxQlAAAAAHBDUQIAAAAANxQlAAAAAHBDUQIAAAAANxQlAAAAAHBDUQIAAAAANxQlAAAAAHBDUQIAAAAANxQlAAAAAHBDUQIAAAAANxQlAAAAAHATYHSApnDk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5iorK0sNDQ2KjY3V8uXLb2hbAID27bHHHtPYsWNls9n0/PPPS7oyCe2Pf/xjQ5//uiRJUm1trSwWi6qqqlRSUqINGzZIkoYPH67Fixerurpa4eHhLf9LSOoQ6K/U+Zs8sm1POnv2ylDN02drfDL/K7kPq0YUJQD/cs2idPr06WavU1JSdPny5W8td9e+ffuczxMTE1VYWPi9tgcAwNixY52jEr6+lvb222/Xb3/7W8PbyMjI0JtvvimHw6H169ervLxcUVFRstlskiSbzaZu3bqpvLzcY0UJANA6XLMocZtuAICvsNvtCgwMdD6XpLCwMLe2sWTJEknSjh07lJube8MjJly1hptd4Pp8ccggjGHftk2e3q/XLEqnTp0ytJFv3vIbAAAz3HrrrbJYLFd976OPPnJrW6NHj1ZmZqa6d++uiooKNTU1yWazqampSWfOnFF0dLRb23Pn7qz8QWceT93BU2K/mo27s7ZNnr476zWL0pAhQ2SxWORwOJodfFxfu3sAAgCgpe3du7fZ68rKSq1bt0733nvvdT976dIlXbx40VmA9u3bp5CQEEVERCghIUFFRUUaNWqUc64mht0BQNt3zaL08ccfO59v27ZNf/vb3/T4448rJiZGZWVlWrNmje666y6PhwQA4HpiY2O/9TonJ0fjxo3T+PHjr/nZuro6zZ49W3V1dbJarQoJCVF+fr4sFoueeeYZpaena+3atQoODlZOTo4nfw0AQCth+PbgK1eu1Ouvv64OHTpIknr27Kns7GwNHTpUY8eO9VhAAABuVG1traqrq6+7XteuXbV169arvhcfH6+CgoKWjgYAaOUMFyW73a4vvvhC8fHxzmVlZWXOC2YBADDTvHnzmg0Lr6+v17vvvquRI0eamAoA4KsMF6Vf/vKXeuSRRzR27Fh1795dp0+f1p///Gc98sgjnswHAIAhPXr0aPa6Y8eOmjhxov7t3/7NpEQAAF9muChNmzZNt9xyi3bt2qWSkhJFRkZq6dKluvvuuz2ZDwAAQ2bNmmV2BABAG2K4KEnS3XffTTECALRKzz77rB544AElJiY6lx08eFD//d//rYyMDBOTAQB8kdXoio2NjXr++ec1ePBgJSUlSZL279+vP/7xjx4LBwCAUUVFRerTp0+zZX369FFRUZFJiQAAvsxwUVq6dKmOHj2qvLw858WyN998szZv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\n",
      "text/plain": [
       "<Figure size 1008x720 with 4 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, axes = plt.subplots(2,2,figsize = (14,10))\n",
    "sns.barplot(x = 'Class',y = 'VisITedResources',data = df, order = ['L','M','H'], ax = axes[0,0])\n",
    "sns.barplot(x = 'Class',y = 'AnnouncementsView',data = df, order = ['L','M','H'],ax = axes[0,1])\n",
    "sns.barplot(x = 'Class',y = 'raisedhands',data = df, order = ['L','M','H'],ax = axes[1,0])\n",
    "sns.barplot(x = 'Class',y = 'Discussion',data = df, order = ['L','M','H'],ax = axes[1,1])\n",
    "\n",
    "# 在sns.barplot中，默认的计算方式为计算平均值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f4d9f6fb278>"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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D6a4WPYwBg4UQwwxtZkHSF94FZOERIVpyvnD3JmuXnOf1EMWF7v9f0pEuq3TfKW5QUREbrWe24MI8Eu/9Et85jOfaRap+fKXv8zf/u3f7vr9Coi9JU4gseBftlrL2sbB96kdX3cEMXgOOJc90IsSMIB7+eLqJIYkAi994/oUkb7Xab4SERG5lXoyIL711lt8/vOfZ319nUKhwB/+4R9y9OjRXb9fAVFERERERPpRTwbE66WAKCIiIiIi/ajnqpiKiIiIiIjIraOAKCIiIiIiIoACooiIiIiIiGxRQBQRERERERFAAVFERERERES2KCCKiIiIiIgIoIAoIiIiIiIiWxQQRUREREREBFBAFBERERERkS0KiCIiIiIiIgIoIIqIiIiIiMgWBUQREREREREBFBBFRERERERkiwKiiIiIiIiIAAqIIiIiIiIiskUBUURERERERAAFRBEREREREdmigCgiIiIiIiKAAqKIiIiIiIhsUUAUERERERERALxuD+BmcxzT7SGIiIiIiIjccteShYy11t6EsYiIiIiIiMhtRktMRUREREREBFBAFBERERERkS0KiCIiIiIiIgIoIIqIiIiIiMgWBUQREREREREBFBBFRERERERkiwKiiIiIiIiIAAqIIiIiIiIiskUBUURERERERAAFROlzjz/+OCdPnuz2MESkhzz++ON8+MMfJo7jZttXvvIV7rrrLv7u7/6uiyMTkdtZp3uWJ554gu9+97tdGpH0KgVEERGRG2x8fJyXXnqp+fqf/umfOHHiRBdHJCIisjsKiCIiIjfYT//0T/MP//APAJw/f55qtcrx48e7PCoREZH35nV7ACIiIr3m0Ucf5e///u8plUr84z/+I5/+9Kd57bXXuj0sEbnNPfXUU6TT6ebrM2fOdG8w0rMUEEVERG4wYww/+ZM/yT//8z/zta99jS996UsKiCJy3Z555pmW1QhPPPFEF0cjvUoBUURE5CZ44okn+Nmf/VkeeeQRhoeHuz0cERGRXVFAFBERuQkOHDjAb/3Wb3H//fd3eygiIiK7poAofe+zn/0srus2Xz///PMUi8UujkhEesWTTz7Z7SGIiIhcFWOttd0ehIiIiIiIiHSfjrkQERERERERQAFRREREREREtiggioiIiIiICKCAKCIiIiIiIlsUEEVERERERARQQBQREbkuf/7nf87TTz/d7WGIiIjcEDoHUUREZBeef/55nn32WU6fPs3AwAB33303n/vc57o9LBERkRtKAVFEROQ9PPvss3zxi1/k937v9/jwhz+M7/t861vf4oUXXiCXy3V7eCIiIjeMlpiKiIi8i3K5zDPPPMPv/u7v8olPfIJcLofv+zz++OP89m//dtv1Tz31FB/60Id46KGH+IVf+AXefPPN5r978cUX+dSnPsUDDzzAY489xl//9V8DsLKywq/92q/x8MMP88gjj/DzP//zJElyyz6jiIjIO/QEUURE5F288sor1Ot1fuInfmJX13/kIx/hD/7gD0ilUvzxH/8xTz/9NM899xwAv/M7v8Of/dmf8fDDD1MqlZidnQUaTygnJyf5zne+A8D3v/99jDE35wOJiIi8Cz1BFBEReRdra2sMDw/jebv7TvUzn/kM+XyeVCrFr//6r/P6669TLpcB8DyPU6dOsbGxQbFY5MSJE832xcVF5ubm8H2fhx9+WAFRRES6QgFRRETkXQwNDbG6ukoURe95bRzH/Mmf/Akf//jHefDBB3n88ccBWF1dBeCZZ57hxRdf5KMf/Si/+Iu/yCuvvALAr/7qr3Lo0CF+5Vd+hY997GN88YtfvHkfSERE5F0oIIqIiLyLBx54gHQ6zde//vX3vPb555/nhRde4Nlnn+Xll1/mG9/4BgDWWgDuu+8+/vIv/5Jvf/vbfPzjH+c3f/M3Acjn83z+85/nhRde4K/+6q949tlnm8tNRUREbiUFRBERkXcxODjIU089xe///u/z9a9/nWq1ShiGvPjii/zRH/1Ry7WVSoVUKsXw8DDVapU//dM/bf67IAj46le/Srlcxvd9BgYGcF0XgG9+85ucPXsWay35fB7XdXEc/RUtIiK3norUiIiIvIfPfvazjI6O8hd/8Rc8/fTTDAwMcOLECT73uc/x7//+783rPv3pT/PSSy/x2GOPMTQ0xG/8xm/wpS99qfnvn3vuOb7whS8QxzFHjhxpBsyzZ8/yhS98gZWVFQqFAj/3cz/Ho48+ess/p4iIiLHvrHsRERERERGRvqb1KyIiIiIiIgIoIIqIiIiIiMgWBUQREREREREBFBBFRERERERkiwKiiIiIiIiIAAqIIiIiIiIiskUBUURERERERAAFRBEREREREdmigCgiIiIiIiIA/H9UFSY9RrLy0gAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 1080x720 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 了解不同性别的情况下，举手次数和成绩的相关性\n",
    "sns.set(rc={'figure.figsize':(15,10)})\n",
    "sns.swarmplot(x = 'Class',y = 'raisedhands',hue = 'gender',data = df,palette = 'coolwarm',order = ['L','M','H'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f4d9f671e48>"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 了解上课讨论积极程度和成绩的重要性\n",
    "sns.set(rc={'figure.figsize':(8,6)})\n",
    "sns.boxplot(x = 'Class',y = 'Discussion', data = df, order = ['L','M','H'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3.3: 数字型特征之间的可视化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f4d9f610e80>"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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19Vaa33gwAGttcxlxcR1XT1v3jy9efNmrbXWmzZt0rNmzdKO48i4jCDvvPOO3rNnj/7iF7+YHAut+383SmV8RBM3CJqbm/nwww9ZvHgxAIsXL+bDDz9MaoGEkaG+vp758+cn/581axZ79uxh48aNBAIB5s2bB8CVV17J7373u2J1c1QSi8W49957ueeee1DKS+os41I8Ojo6WLVqFbfddltyPMaNGydzWQlgGAZtbW0AtLW1MWHCBFpaWmRcRpB58+bR2NiYdqy/d6OU3htrxFusAJqampg4cSKmaQJgmiYTJkygqamJhoaGIvdudOK6LitXrmThwoU0NTUxefLk5GcNDQ24rktrayv19fVF7OXo4d///d9ZsmQJRx11VPKYjEvx2LVrF/X19Tz88MO8/fbbVFVVcdtttxEMBmUuKyJKKR566CH+/u//nnA4TEdHBz/5yU/kO6YE6G8MtNYlMz6iiRMqgvvuu49wOMw111xT7K6Mev785z+zceNGrr766mJ3RUhg2za7du3ic5/7HM899xx33HEH3/zmN+ns7Cx210Y1tm3zk5/8hEceeYTXXnuN//iP/+Af/uEfZFyEnBFN3CBobGxk3759OI6DaZo4jsP+/ft7qWOFkWH58uXs2LGDRx99FMMwaGxsZM+ePcnPDx06hFJKtD0jxDvvvMO2bdv40pe+BMDevXu58cYbufbaa2VcisTkyZOxLCu5/XP66aczZswYgsGgzGVFZNOmTezfv5+5c+cCMHfuXEKhEIFAQMalyPT3Pa+1LpnxEU3cIBg7diwnn3wyL774IgAvvvgiJ598sqi5i8CDDz7I+++/z4oVK/D7/QCceuqpRCIR1q1bB8AvfvELLr744mJ2c1Rx0003sWbNGl599VVeffVVJk2axBNPPME3vvENGZci0dDQwPz583nzzTcBz7OuubmZGTNmyFxWRCZNmsTevXvZtm0bAJ988gkHDx5k+vTpMi5Fpr/v+VKSAZTWWo94qxXAJ598wrJlyzhy5Ai1tbUsX76cY445ptjdGlVs3bqVxYsXM2PGDILBIABTp05lxYoVvPfee9xzzz1Eo1GmTJnCD3/4Q8aNG1fkHo9OFi5cyKOPPsoJJ5wg41JEdu3axXe+8x1aW1uxLIvbb7+dc889V+ayIvPrX/+an/70p0mHk29961ucf/75Mi4jyP3338/q1as5ePAgY8aMob6+npdeeqnfMSiV8REhThAEQRAEoQyR7VRBEARBEIQyRIQ4QRAEQRCEMkSEOEEQBEEQhDJEhDhBEARBEIQyRIQ4QRAEQRCEMkSEOEEQKopf//rX3HDDDQWv98QTT2THjh0ALFu2jAcffLDgbWRjJNsSBKG8kIwNgiBUFEuWLGHJkiXF7oYgCMKwI5o4QRDKCtu2i90FQRCEkkCEOEEQSp6FCxfy2GOPcemllzJr1iweeeQRzj//fGbPns2Xv/xlXnnllWTZ5557jquuugoArTXf//73Ofvss5k7dy6XXnopW7ZsASAWi7F8+XLOO+88Pv/5z/Pd736XSCSSrOfxxx9nwYIFLFiwgF/96le9+nTkyBFuuukmZs+ezeWXX87OnTuTn91///2ce+65zJkzh8suuyyZagzgxz/+Mbfddhvf/va3mT17NpdccgkbN25Mfv7hhx/yla98hdmzZ3P77bcTjUaTnx06dIibb76ZefPmceaZZ3L11Vfjum4B7rAgCOWICHGCIJQFL730Eo899hjr1q3j6KOP5uc//znvvvsut956K3feeSf79+/vdc6aNWtYt24dv//971m3bh0PPfQQ9fX1APzwhz9k+/btrFq1itWrV7N//35WrFgBwOuvv86TTz7Jk08+yerVq3nrrbey9ufWW2/lnXfeYdq0aWl2azNnzmTVqlWsXbuWxYsXc9ttt6UJY6+++iqXXHIJ69atY+HChdx3332AJ1jecsstLF26lLVr13LRRRexevXq5HlPPfUUEydO5K233uLNN9/kH//xH5PpmgRBGH2IECcIQllw7bXX0tjYSDAY5OKLL2bixIkYhsGXv/xlpk+fzoYNG3qdY1kWHR0dbNu2Da01xx57LBMmTEBrzbPPPst3vvMd6uvrqa6u5uabb+all14C4OWXX+ayyy7jhBNOIBwOc+utt/aq+4ILLuC0007DsiyWLFnCpk2bkp8tXbqUMWPGYFkWN9xwA7FYjO3btyc/nzt3Lueeey6mabJ06VI++ugjANavX088Huf666/H5/Nx0UUXMXPmzLTrOXDgAHv27MHn8zFv3jwR4gRhFCOODYIglAWNjY3Jv1etWsVTTz3F7t27Aejs7KSlpaXXOWeffTZf+9rXuPfee9mzZw8XXHABd911F9FolK6uLi677LJkWa11cmty//79nHrqqcnPpkyZ0qvucePGJf8OBoN0dnYm/3/yySd59tln2b9/P0op2tvb0/qXeW40GsW2bfbv38/EiRPTBLPJkycn/77xxht5+OGHk963V1xxBTfddFN/t00QhApGhDhBEMqCbsFm9+7d3H333Tz99NPMnj07qc3qi+uuu47rrruO5uZmbr/9dh5//HG+9a1vEQwGeemll5g4cWKvcyZMmEBTU1Py/z179uTcz3Xr1vHTn/6Up59+muOPPx7DMDjjjDPQWg947vjx49m3bx9a6+T17tmzh6OOOgqA6upqli1bxrJly9i6dSvXXXcdM2fO5Oyzz865f4IgVA6ynSoIQlnR1dWFUoqGhgYA/vu//5utW7dmLbthw4bkFmUoFMLv92OaJoZhcPnll/P973+f5uZmAPbt28cbb7wBwEUXXcTzzz/Pxx9/TFdXFw8//HDO/evo6MA0TRoaGrBtm4cffpj29vaczp01axaWZfHMM89g2zarV69Oc3p47bXX2LFjB1prqqurk9ciCMLoRN5+QRDKiuOOO44bbriBK6+8ks9//vNs2bKFOXPmZC3b0dHB3XffzZlnnskXv/hF6uvrk1uRd955J9OnT+dv/uZvmDNnDn/7t3+btFs799xzuf7667n++uu54IILOOuss3Lu34IFC/jCF77AokWLWLhwIYFAIG0ruD/8fj8//vGPef755znjjDP47W9/ywUXXJD8fMeOHXz9619n9uzZXHHFFVx11VXMnz8/574JglBZKJ2Ljl8QBEEQBEEoKUQTJwiCIAiCUIaIECcIgiAIglCGiBAnCIIgCIJQhogQJwiCIAiCUIaIECcIgiAIglCGiBAnCIIgCIJQhogQJwiCIAiCUIaIECcIgiAIglCGiBAnCIIgCIJQhvx/aZlICfyce6EAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 720x720 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 了解四个课堂课后量化表现之间的相关性\n",
    "fig, axes = plt.subplots(2,1,figsize = (10,10))\n",
    "sns.regplot(x = 'raisedhands',y = 'Discussion',order = 4, data = df, ax = axes[0])\n",
    "sns.regplot(x = 'raisedhands',y = 'AnnouncementsView',order = 4, data = df, ax = axes[1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>VisITedResources</th>\n",
       "      <th>raisedhands</th>\n",
       "      <th>AnnouncementsView</th>\n",
       "      <th>Discussion</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>VisITedResources</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.691572</td>\n",
       "      <td>0.594500</td>\n",
       "      <td>0.243292</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>raisedhands</th>\n",
       "      <td>0.691572</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.643918</td>\n",
       "      <td>0.339386</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AnnouncementsView</th>\n",
       "      <td>0.594500</td>\n",
       "      <td>0.643918</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.417290</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Discussion</th>\n",
       "      <td>0.243292</td>\n",
       "      <td>0.339386</td>\n",
       "      <td>0.417290</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                   VisITedResources  raisedhands  AnnouncementsView  \\\n",
       "VisITedResources           1.000000     0.691572           0.594500   \n",
       "raisedhands                0.691572     1.000000           0.643918   \n",
       "AnnouncementsView          0.594500     0.643918           1.000000   \n",
       "Discussion                 0.243292     0.339386           0.417290   \n",
       "\n",
       "                   Discussion  \n",
       "VisITedResources     0.243292  \n",
       "raisedhands          0.339386  \n",
       "AnnouncementsView    0.417290  \n",
       "Discussion           1.000000  "
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Correlation Matrix 相关性矩阵\n",
    "corr = df[['VisITedResources','raisedhands','AnnouncementsView','Discussion']].corr()\n",
    "corr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f4d9f51d8d0>"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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kKCOHTsqKChI9erVk9PpVIMGDTRx4sQsr2nRooWeeuopffPNN5o1a5ZWr16tN998U06nM8t7/fk4X758cjqdru1Xr17NtF/BggVd3/91v7+6k0wAAGSSzU7O+fPndf78+SzbfX195evr63qcmJio4sWLy9PTU5Lk6empYsWKKTExMVORU6lSJa1fv16BgYE6fvy4fvzxR1enJjExMdPv9oCAACUlJd00310/dahNmzaaMWOGDh8+rEaNGmV5/tChQypdurQ6duyoF154QXv27Plbx2/UqJHmzJkju/3aaXHJyck6duyY7rvvPpUpU0br1q2TJP3444+Z5oP+qly5curXr5/efvttSdeGnWNjY11zM06n0zX/cvjwYRUrVkxt2rRR3759Xdvr1q3rWoZLTU3Vhg0bVKdOHUlSqVKlXJ9r69atSklJuennWbVqlc6cOeM6Vlpa2h1lAgAgJy1cuFDPPvtslq+FCxfe0fEiIiL0xx9/KCwsTOPHj1etWrWydQLOXT91JyQkRJMnT1aHDh3k7e2d5fmPPvpIcXFx8vLykre3t15//fW/dfyRI0dq8uTJCgsLk81mk7e3t0aMGKFSpUppypQpGjZsmD788EM98cQTCgwMvOFxOnXqpI8//lhfffWVq2MydOhQpaWlKT09XTVq1FDlypW1bt06rV+/Xl5eXrLZbBo+fLika6ezjxkzRiEhIXI6nWrbtq2ryBk0aJAiIiK0ZMkSVatWzXUK/PXUrl1bL774orp37y6bzab8+fNr9uzZKlu27N/OBABAJtlcrurWrZtatWqVZftfuzjSta7LyZMnZbfb5enpKbvdrlOnTikgICDTfn5+fq7LxEhSz549Va5cOdcxTpw4ocqVK0vK2tm5HpvzRushcFvpf/xmdQTj/RH+ktURjLf3wI3/eEDOaHp2m9UR3EJG2u+5duzLG97N1usLNO9/2/s+//zzatu2rWvwePny5a6TbP509uxZFS5cWPny5dOOHTsUERGhjRs3qkCBAlq5cqXWrVunuXPnugaPP/nkE5UqVeqG78lFWAAAcFd38eyq0aNHKyIiQlFRUfL19XVdOqZnz57q37+/AgMDtXv3bo0fP14eHh667777NGvWLBUoUEDStZNyfvrpJz333HOSpH/96183LXAkOjm4Djo5uY9OTu6jk5P76OTcHbnayYmZnq3XFwgelENJcgf3LAAAAEZiuQoAAHfFvasAAICRDL93FUUOAADuik4OAAAwkuGdHAaPAQCAkejkAADgrliuAgAARqLIAQAARjL8esDM5AAAACPRyQEAwF2xXAUAAIxEkQMAAIxk+HVyKHIAAHBXhndyGDwGAABGopMDAIC7MvwUcoocAADcleHLVRQ5AAC4K8OLHGZyAACAkejkAADgrjiFHAAAmMjpYPAYAACYyPCZHIocAADcleHLVQweAwAAI9HJAQDAXTGTAwAAjMRMDgAAMBJFDgAAMJLh965i8BgAABiJTg4AAO6K5SoAAGAkzq4CAABG4mKAAAAAeQ+dHGTxR/hLVkcw3v2rP7Q6gvECgl61OoLxAm1lrI6A7GK5CgAAmMjJ4DEAADASnRwAAGAkBo8BAADyHjo5AAC4K5arAACAkRg8BgAARqKTAwAAjMTgMQAAQN5DJwcAAHfFchUAADARVzwGAABmMryTw0wOAAAwEp0cAADcleGdHIocAADcleGnkFPkAADgrujkAAAAEzkNL3IYPAYAAEaikwMAgLsyvJNDkQMAgLviYoAAAMBIdHIAAICRKHIAAACy59ChQ4qIiFBKSoqKFCmiSZMmqUyZMpn2GTJkiPbv3+96vH//fr3//vt69tlnNWPGDH366acqVqyYJOmpp55SZGTkTd+TIgcAADfldN69Tk5kZKQ6d+6ssLAwRUdHa9SoUVq0aFGmfSZPnuz6Pj4+Xt26ddPTTz/t2hYeHq6hQ4fe9ntyCjkAAO7K4cze1206c+aM9u7dq+DgYElScHCw9u7dq+Tk5Bu+Zvny5QoJCZG3t/cdfzw6OQAAuKtszuScP39e58+fz7Ld19dXvr6+rseJiYkqXry4PD09JUmenp4qVqyYEhMT5efnl+X1aWlpWrt2rRYsWJBp+7p167Rt2zb5+/vr1Vdf1ZNPPnnTfBQ5AADgjixcuFDvvfdelu39+vXTq6++esfH3bx5s0qUKKGKFSu6tnXs2FG9e/eWl5eXvvnmG/Xt21fr16/Xfffdd8PjUOQAAOCmsntbh27duqlVq1ZZtv+1iyNJAQEBOnnypOx2uzw9PWW323Xq1CkFBARc97grVqxQmzZtMm3z9/d3fV+3bl0FBATowIEDqlmz5g3zUeQAAOCuslnk/Pey1I0ULVpUFStWVExMjMLCwhQTE6OKFSted6kqKSlJ33//vaZNm5Zp+8mTJ1W8eHFJ0r59+/T777/r4Ycfvun7UuQAAOCu7uIFj0ePHq2IiAhFRUXJ19dXkyZNkiT17NlT/fv3V2BgoCRp1apVatiwoYoUKZLp9dOnT9cvv/wiDw8PeXl5afLkyZm6O9djc97N88eQJyTWa2h1BOPdv/pDqyMY70DQnc8D4PZ0uZhidQS38GPSN7l27JQujbL1+iKfbMmhJLmDU8gBAICRWK4CAMBdcVsHAABgJLNvQk6RAwCAu8ruKeT/dBQ5AAC4K8M7OQweAwAAI1Hk/Jd33nlH69evz7HjNWrUSL/++muW73PD8ePHFRQUlGvHBwCYxelwZuvrn87tlqsyMjKUL9+NP/aAAQPuYhoAACxk+HKVWxQ55cuX17///W/FxsaqWrVqat68ud544w1dvnxZV69eVfv27dW9e3dJUkREhJ544gl17dpVmzdv1jvvvCMPDw/Z7XaNHDlSQUFBOnXqlMaNG6cTJ07o6tWratmypXr37i1J2rVrl9544w3lz59fVatW1X9fa3HDhg0aOXKkTp8+rRdffFFdu3aVJE2aNEnfffed0tPTdd9992nChAl68MEHdfz4cbVp00YdO3ZUbGysLl++rPHjx6t69eqSpE8++UQLFiyQv79/pvt3nDlzRq+99prOnDkjSapdu7aGDx+e2z9qAEAe4qTIMYPD4dBHH30kSUpNTdWCBQvk7e2tixcvql27dnr66adVrly5TK959913FRkZqerVq8tut+vy5cuSpKFDh6pv376qUaOG0tLS1L17dwUGBqpGjRoaOHCgpk6dqqCgIK1fv971nn+6cuWKli5dquPHjyskJEStWrVSoUKF1LNnTw0dOlSStGzZMk2dOlVvvfWWJCklJUVVq1bVwIEDtWbNGk2dOlVLlixRfHy8Zs6cqdWrV+v+++/X6NGjXe+zdu1alShRwnWb+nPnzuXGjxUAgH8styly/nqX1CtXrmj06NHav3+/bDabTp06pfj4+CxFTq1atfTmm2+qWbNmql+/vh577DFdunRJ3333nZKTk137Xbx4UQkJCSpatKgKFCjgmotp0aKFRo0alemYLVq0kCSVLFlSvr6+SkpKUrly5fT111/r008/1aVLl5SRkZHpNQULFlTDhtdutVC1alXX/T6+++47NWjQQPfff78kqUOHDtqw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tXTp0lvu17x5c23dujXTtosXL+qpp57S8ePH9c4772j9+vW5FRMA4MYc2fz6p7utImft2rWqWrWq1q1bp7S0tNzOZITff//9toqc1q1ba+XKlZm2bdy4UZUrV1bJkiU1YMAAtWjRIrdiAgBgrNtarlqxYoWGDBmi2bNna8uWLWrWrJlmzJihQ4cO6cKFCzp27JhKly6td955RwUKFLjpcxcvXtS4ceO0Z88eSVJoaKh69eolSWrUqJFmzZqlxx57LMvjRo0aKSwsTNu3b9fp06f14osvqmvXrpKkhIQEjR8/XqdPn5Ykvfjii2rVqpVOnTqlcePG6cSJE7p69apatmyp3r17u44dEhKib7/9VidPntRrr72mM2fOKCYmRufOndPEiRNVvXp1SVJsbKxmzpyptLQ0eXl5adiwYapatari4uI0YcIEValSRT/++KNsNpveeustlStXTmPGjNHx48cVFhamhx56SG+//bbGjBmjb7/9Vt7e3ipYsKCWLFmiVq1aKSoqSufOndO9994rSVq5cqU6duwoSYqIiNATTzyhrl27Ki0tTW+99ZZ27typ9PR0PfbYYxo9erTr82zfvl2enp5q0aKFgoKCFBkZqd27d2vChAlasmRJtv+xAADMkhe6Mdlxy05OfHy8zp07p1q1aql169ZasWKF67mff/5Z06ZN04YNG5SRkaG1a9fe8rmoqCg5HA6tXbtWS5YsUXR0tGJjY28r7JUrV7R06VItWrRI06ZN08WLF5WRkaG+ffuqXbt2Wrt2rdauXasGDRpIkoYOHarnn39ey5cv14oVK/T111/rm2++cR0vLS1NS5cu1bvvvquRI0fKy8tLy5cv18CBAzVt2jRJ0tGjRxUVFaUPPvhAK1eu1Lhx4/Q///M/rmMcPHhQHTt21Nq1a9W8eXNFRUVJkkaNGqVy5copOjpa7777ruLj47Vjxw6tX79ea9as0ezZsyVJ999/v4KCghQTEyNJOnLkiA4cOKDnnnsuy+f/4IMPVLhwYS1fvlzR0dEqVqyY5syZo0KFCqls2bLas2ePTp06pXvuuUfff/+9JGnHjh2qVavWbf18AQDuxWnL3tc/3S07OcuXL1dYWJhsNpuee+45jRs3TidPnpQk1atXT76+vpKkypUr6+jRo67X3ei5HTt2aPjw4bLZbPLx8VHLli21Y8cOPfPMM7cM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V6+6vn/vvfc0aNAgXb58WS+88IJiY2NVuHBhrVu3Ts2bN9f+/fvVsmVLnT59OtMxnU6nbDbbDd/T29vb9b2Hh4cyMjJu6/MCANyLM5v/+aejyLmBzZs3a/HixerRo0em7YcOHVLp0qXVsWNHvfDCC9qzZ48kqWHDhvrwww9d3Z8/l6tKly7t2ufUqVOumZqMjAwdO3ZMlStXVq9evVS3bl3t27dPycnJunLliurXr6/BgwercOHCWToxTz75pPbt26eEhARJ0qpVq/T444/Lx8cn934gAADjOJzObH390zGT8xf9+/d3nUJerlw5zZkzR1WrVtXWrVtd+3z00UeKi4uTl5eXvL299frrr0uShg0bpgkTJig4OFienp6qWbOmXn/9dbVv3179+/dXaGioypQpo8qVK0uSHA6HIiIidOHCBdlsNgUEBOi1117TiRMnNHLkSGVkZMhut6t+/fqqWrWqTpw44crg5+enyZMna/DgwcrIyJCfn5+mTJlyd39YAIA8Ly90Y7LD5jR9tBp/Wz7vB62OYLxAvzJWRzBehfz+Vkcw3qLvp1sdwS143V82145dqXhQtl7/y8m4HEqSO+jkAADgpvLCklN2UOQAAOCmTF+uosgBAMBNmd7J4ewqAABgJDo5AAC4KZarAACAkUxfrqLIAQDATdHJAQAARnI6HbfeKYccOnRIERERSklJUZEiRTRp0iSVKVMm0z4rVqzQggUL5OHhIYfDoXbt2umFF16QJNntdo0bN05bt26VzWZTr1691K5du5u+J0UOAADIdZGRkercubPCwsIUHR2tUaNGadGiRZn2adq0qVq3bi2bzabU1FSFhISoZs2aqlChgtauXaujR49q06ZNSklJUXh4uGrXrq2SJUve8D05uwoAADeV3buQnz9/XsePH8/ydf78+Uzvc+bMGe3du1fBwcGSpODgYO3du9d1n8c/+fj4uG5AfeXKFaWnp7ser1+/Xu3atZOHh4f8/PzUuHFjbdy48aafj04OAABuKrt3dlq4cKHee++9LNv79eunV1991fU4MTFRxYsXl6enpyTJ09NTxYoVU2Jiovz8/DK99osvvtD06dN19OhRvfbaaypfvrzrGCVKlHDtFxAQoKSkpJvmo8gBAMBNObI5eNytWze1atUqy3ZfX987Puazzz6rZ599VidOnNC//vUv1a9fX2XL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\n",
      "text/plain": [
       "<Figure size 576x432 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Correlation Matrix Visualization 相关性矩阵可视化\n",
    "sns.heatmap(corr, \n",
    "        xticklabels=corr.columns,\n",
    "        yticklabels=corr.columns)\n",
    "\n",
    "# 从上面的相关矩阵以及下方的热力图可以看出，大部分课堂课后表现中，除了课上讨论Discussion, 其他的表现之间都有比较大的相关性，这一点也可以从上面的可视化结果中验证\n",
    "# 我们可以从这些结果中得知，一般喜欢参与上课讨论的人不一定会经常去浏览课件\n",
    "# 我们可以做一个猜想：一个不仅积极参与讨论并且还经常浏览课件的学生，是否会比只积极参与其中一项的学生成绩更好呢？"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 4. 机器学习是什么？\n",
    "\n",
    "机器学习是从示例中学习的算法。 你不需要编写机器学习的算法，而是通过提供大量的相关数据，来训练它们。 例如，不要试图对机器算法解释一只猫看起来是什么样的，你需要通过提供数百万张猫的图片来培训它。 该算法在这些图像中找到重复的模式，并为自己确定如何定义猫的外观。在此之后，当你向该程序显示新照片时，它可以区分照片中是否含有猫的成分。\n",
    "\n",
    "一个非常简单的逻辑：提供猫的图片越多，训练后的模型越完善和准确\n",
    "\n",
    "那么，在这次教程中也有类似的过程，我们现在已经处理好了数据，数据集中每一行数据（每一个学生的信息）就是类似于一张猫的图片，我们选用的机器学习算法是逻辑回归，现在我们只需要简单地把每一行数据输入到逻辑回归算法中去，那么它就会自动学习每一行数据中的信息并且建立出一个预测学生成绩的模型，而不需要人为的写代码模型怎么去判断学生的成绩\n",
    "\n",
    "- 课后作业1：了解什么是逻辑回归算法以及背后的数学原理/证明过程\n",
    "- 课后作业2：了解一下什么是虚拟变量，逻辑回归中又为什么需要虚拟变量\n",
    "- 课后作业3：思考一下还有什么因素会影响机器学习建模的准确率，这又和特征工程有什么联系\n",
    "\n",
    "# 5. 模型训练\n",
    "\n",
    "下面开始训练模型，每个模型板块包括三个部分： 1.特征工程 2.分测试集和数据集 3.训练模型，返回测试结果\n",
    "\n",
    "## 5.1 逻辑回归（原始特征）\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>raisedhands</th>\n",
       "      <th>VisITedResources</th>\n",
       "      <th>AnnouncementsView</th>\n",
       "      <th>Discussion</th>\n",
       "      <th>gender_F</th>\n",
       "      <th>gender_M</th>\n",
       "      <th>NationalITy_Egypt</th>\n",
       "      <th>NationalITy_Iran</th>\n",
       "      <th>NationalITy_Iraq</th>\n",
       "      <th>NationalITy_Jordan</th>\n",
       "      <th>...</th>\n",
       "      <th>Semester_F</th>\n",
       "      <th>Semester_S</th>\n",
       "      <th>Relation_Father</th>\n",
       "      <th>Relation_Mum</th>\n",
       "      <th>ParentAnsweringSurvey_No</th>\n",
       "      <th>ParentAnsweringSurvey_Yes</th>\n",
       "      <th>ParentschoolSatisfaction_Bad</th>\n",
       "      <th>ParentschoolSatisfaction_Good</th>\n",
       "      <th>StudentAbsenceDays_Above-7</th>\n",
       "      <th>StudentAbsenceDays_Under-7</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>15</td>\n",
       "      <td>16</td>\n",
       "      <td>2</td>\n",
       "      <td>20</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>20</td>\n",
       "      <td>20</td>\n",
       "      <td>3</td>\n",
       "      <td>25</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>10</td>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "      <td>30</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>30</td>\n",
       "      <td>25</td>\n",
       "      <td>5</td>\n",
       "      <td>35</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>40</td>\n",
       "      <td>50</td>\n",
       "      <td>12</td>\n",
       "      <td>50</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>42</td>\n",
       "      <td>30</td>\n",
       "      <td>13</td>\n",
       "      <td>70</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>35</td>\n",
       "      <td>12</td>\n",
       "      <td>0</td>\n",
       "      <td>17</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>50</td>\n",
       "      <td>10</td>\n",
       "      <td>15</td>\n",
       "      <td>22</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>12</td>\n",
       "      <td>21</td>\n",
       "      <td>16</td>\n",
       "      <td>50</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>70</td>\n",
       "      <td>80</td>\n",
       "      <td>25</td>\n",
       "      <td>70</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>10 rows × 72 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   raisedhands  VisITedResources  AnnouncementsView  Discussion  gender_F  \\\n",
       "0           15                16                  2          20         0   \n",
       "1           20                20                  3          25         0   \n",
       "2           10                 7                  0          30         0   \n",
       "3           30                25                  5          35         0   \n",
       "4           40                50                 12          50         0   \n",
       "5           42                30                 13          70         1   \n",
       "6           35                12                  0          17         0   \n",
       "7           50                10                 15          22         0   \n",
       "8           12                21                 16          50         1   \n",
       "9           70                80                 25          70         1   \n",
       "\n",
       "   gender_M  NationalITy_Egypt  NationalITy_Iran  NationalITy_Iraq  \\\n",
       "0         1                  0                 0                 0   \n",
       "1         1                  0                 0                 0   \n",
       "2         1                  0                 0                 0   \n",
       "3         1                  0                 0                 0   \n",
       "4         1                  0                 0                 0   \n",
       "5         0                  0                 0                 0   \n",
       "6         1                  0                 0                 0   \n",
       "7         1                  0                 0                 0   \n",
       "8         0                  0                 0                 0   \n",
       "9         0                  0                 0                 0   \n",
       "\n",
       "   NationalITy_Jordan             ...              Semester_F  Semester_S  \\\n",
       "0                   0             ...                       1           0   \n",
       "1                   0             ...                       1           0   \n",
       "2                   0             ...                       1           0   \n",
       "3                   0             ...                       1           0   \n",
       "4                   0             ...                       1           0   \n",
       "5                   0             ...                       1           0   \n",
       "6                   0             ...                       1           0   \n",
       "7                   0             ...                       1           0   \n",
       "8                   0             ...                       1           0   \n",
       "9                   0             ...                       1           0   \n",
       "\n",
       "   Relation_Father  Relation_Mum  ParentAnsweringSurvey_No  \\\n",
       "0                1             0                         0   \n",
       "1                1             0                         0   \n",
       "2                1             0                         1   \n",
       "3                1             0                         1   \n",
       "4                1             0                         1   \n",
       "5                1             0                         0   \n",
       "6                1             0                         1   \n",
       "7                1             0                         0   \n",
       "8                1             0                         0   \n",
       "9                1             0                         0   \n",
       "\n",
       "   ParentAnsweringSurvey_Yes  ParentschoolSatisfaction_Bad  \\\n",
       "0                          1                             0   \n",
       "1                          1                             0   \n",
       "2                          0                             1   \n",
       "3                          0                             1   \n",
       "4                          0                             1   \n",
       "5                          1                             1   \n",
       "6                          0                             1   \n",
       "7                          1                             0   \n",
       "8                          1                             0   \n",
       "9                          1                             0   \n",
       "\n",
       "   ParentschoolSatisfaction_Good  StudentAbsenceDays_Above-7  \\\n",
       "0                              1                           0   \n",
       "1                              1                           0   \n",
       "2                              0                           1   \n",
       "3                              0                           1   \n",
       "4                              0                           1   \n",
       "5                              0                           1   \n",
       "6                              0                           1   \n",
       "7                              1                           0   \n",
       "8                              1                           0   \n",
       "9                              1                           0   \n",
       "\n",
       "   StudentAbsenceDays_Under-7  \n",
       "0                           1  \n",
       "1                           1  \n",
       "2                           0  \n",
       "3                           0  \n",
       "4                           0  \n",
       "5                           0  \n",
       "6                           0  \n",
       "7                           1  \n",
       "8                           1  \n",
       "9                           1  \n",
       "\n",
       "[10 rows x 72 columns]"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Feature Engineering 特征工程\n",
    "X = df.drop('Class',axis = 1)\n",
    "Y = df['Class']\n",
    "X = pd.get_dummies(X)\n",
    "    \n",
    "X.head(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "219    M\n",
       "183    M\n",
       "453    M\n",
       "380    L\n",
       "308    M\n",
       "Name: Class, dtype: object"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Get Train and Test Dataset 区分训练集和测试集\n",
    "\n",
    "X_train, X_test, y_train, y_test = train_test_split(X,Y, test_size = 0.2,random_state = 10)\n",
    "y_test.head(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predict ['H' 'M' 'M' 'L' 'H' 'H' 'M' 'H' 'M' 'L' 'M' 'L' 'H' 'M' 'M' 'H' 'L' 'H'\n",
      " 'H' 'H' 'L' 'M' 'M' 'M' 'M' 'L' 'H' 'M' 'M' 'H' 'H' 'H' 'L' 'M' 'M' 'L'\n",
      " 'M' 'M' 'L' 'H' 'M' 'L' 'H' 'L' 'M' 'M' 'H' 'M' 'M' 'H' 'M' 'L' 'H' 'M'\n",
      " 'M' 'H' 'H' 'L' 'M' 'M' 'H' 'L' 'H' 'M' 'L' 'M' 'M' 'M' 'L' 'H' 'M' 'L'\n",
      " 'M' 'M' 'M' 'M' 'M' 'L' 'H' 'H' 'L' 'M' 'L' 'L' 'M' 'H' 'L' 'H' 'H' 'M'\n",
      " 'M' 'L' 'M' 'M' 'H' 'M']\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "0.6666666666666666"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Fit and Predict # 训练模型并检测准确率\n",
    "Logit = LogisticRegression()\n",
    "Logit.fit(X_train, y_train)\n",
    "Predict = Logit.predict(X_test)#预测结果\n",
    "print('Predict',Predict)\n",
    "Score = accuracy_score(y_test, Predict)\n",
    "Score"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 5.2 逻辑回归（删除旧特征）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [],
   "source": [
    "df2 = df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>raisedhands</th>\n",
       "      <th>VisITedResources</th>\n",
       "      <th>AnnouncementsView</th>\n",
       "      <th>Discussion</th>\n",
       "      <th>gender_F</th>\n",
       "      <th>gender_M</th>\n",
       "      <th>NationalITy_Egypt</th>\n",
       "      <th>NationalITy_Iran</th>\n",
       "      <th>NationalITy_Iraq</th>\n",
       "      <th>NationalITy_Jordan</th>\n",
       "      <th>...</th>\n",
       "      <th>Semester_F</th>\n",
       "      <th>Semester_S</th>\n",
       "      <th>Relation_Father</th>\n",
       "      <th>Relation_Mum</th>\n",
       "      <th>ParentAnsweringSurvey_No</th>\n",
       "      <th>ParentAnsweringSurvey_Yes</th>\n",
       "      <th>ParentschoolSatisfaction_Bad</th>\n",
       "      <th>ParentschoolSatisfaction_Good</th>\n",
       "      <th>StudentAbsenceDays_Above-7</th>\n",
       "      <th>StudentAbsenceDays_Under-7</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>15</td>\n",
       "      <td>16</td>\n",
       "      <td>2</td>\n",
       "      <td>20</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>20</td>\n",
       "      <td>20</td>\n",
       "      <td>3</td>\n",
       "      <td>25</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>10</td>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "      <td>30</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>30</td>\n",
       "      <td>25</td>\n",
       "      <td>5</td>\n",
       "      <td>35</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>40</td>\n",
       "      <td>50</td>\n",
       "      <td>12</td>\n",
       "      <td>50</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 56 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   raisedhands  VisITedResources  AnnouncementsView  Discussion  gender_F  \\\n",
       "0           15                16                  2          20         0   \n",
       "1           20                20                  3          25         0   \n",
       "2           10                 7                  0          30         0   \n",
       "3           30                25                  5          35         0   \n",
       "4           40                50                 12          50         0   \n",
       "\n",
       "   gender_M  NationalITy_Egypt  NationalITy_Iran  NationalITy_Iraq  \\\n",
       "0         1                  0                 0                 0   \n",
       "1         1                  0                 0                 0   \n",
       "2         1                  0                 0                 0   \n",
       "3         1                  0                 0                 0   \n",
       "4         1                  0                 0                 0   \n",
       "\n",
       "   NationalITy_Jordan             ...              Semester_F  Semester_S  \\\n",
       "0                   0             ...                       1           0   \n",
       "1                   0             ...                       1           0   \n",
       "2                   0             ...                       1           0   \n",
       "3                   0             ...                       1           0   \n",
       "4                   0             ...                       1           0   \n",
       "\n",
       "   Relation_Father  Relation_Mum  ParentAnsweringSurvey_No  \\\n",
       "0                1             0                         0   \n",
       "1                1             0                         0   \n",
       "2                1             0                         1   \n",
       "3                1             0                         1   \n",
       "4                1             0                         1   \n",
       "\n",
       "   ParentAnsweringSurvey_Yes  ParentschoolSatisfaction_Bad  \\\n",
       "0                          1                             0   \n",
       "1                          1                             0   \n",
       "2                          0                             1   \n",
       "3                          0                             1   \n",
       "4                          0                             1   \n",
       "\n",
       "   ParentschoolSatisfaction_Good  StudentAbsenceDays_Above-7  \\\n",
       "0                              1                           0   \n",
       "1                              1                           0   \n",
       "2                              0                           1   \n",
       "3                              0                           1   \n",
       "4                              0                           1   \n",
       "\n",
       "   StudentAbsenceDays_Under-7  \n",
       "0                           1  \n",
       "1                           1  \n",
       "2                           0  \n",
       "3                           0  \n",
       "4                           0  \n",
       "\n",
       "[5 rows x 56 columns]"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Feature Engineering 特征工程，删除了原有的 Section\n",
    "X2 = df2.drop('Class',axis = 1)\n",
    "X2 = X2.drop('SectionID', axis = 1)#班级\n",
    "X2 = X2.drop('StageID', axis = 1)#学校级别\n",
    "X2 = X2.drop('GradeID', axis = 1)#年级\n",
    "Y2 = df2['Class']\n",
    "X2 = pd.get_dummies(X2)\n",
    "\n",
    "X2.head(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.7395833333333334"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X2_train, X2_test, y2_train, y2_test = train_test_split(X2,Y2, test_size = 0.2,random_state = 10)\n",
    "Logit = LogisticRegression()\n",
    "Logit.fit(X2_train, y2_train)\n",
    "Predict = Logit.predict(X2_test)\n",
    "Score = accuracy_score(y2_test, Predict)\n",
    "Score"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 5.3 逻辑回归（增加新特征）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [],
   "source": [
    "df3 = df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>raisedhands</th>\n",
       "      <th>VisITedResources</th>\n",
       "      <th>AnnouncementsView</th>\n",
       "      <th>Discussion</th>\n",
       "      <th>DiscussionPlusVisit</th>\n",
       "      <th>gender_F</th>\n",
       "      <th>gender_M</th>\n",
       "      <th>NationalITy_Egypt</th>\n",
       "      <th>NationalITy_Iran</th>\n",
       "      <th>NationalITy_Iraq</th>\n",
       "      <th>...</th>\n",
       "      <th>Semester_F</th>\n",
       "      <th>Semester_S</th>\n",
       "      <th>Relation_Father</th>\n",
       "      <th>Relation_Mum</th>\n",
       "      <th>ParentAnsweringSurvey_No</th>\n",
       "      <th>ParentAnsweringSurvey_Yes</th>\n",
       "      <th>ParentschoolSatisfaction_Bad</th>\n",
       "      <th>ParentschoolSatisfaction_Good</th>\n",
       "      <th>StudentAbsenceDays_Above-7</th>\n",
       "      <th>StudentAbsenceDays_Under-7</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>15</td>\n",
       "      <td>16</td>\n",
       "      <td>2</td>\n",
       "      <td>20</td>\n",
       "      <td>36</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>20</td>\n",
       "      <td>20</td>\n",
       "      <td>3</td>\n",
       "      <td>25</td>\n",
       "      <td>45</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>10</td>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "      <td>30</td>\n",
       "      <td>37</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>30</td>\n",
       "      <td>25</td>\n",
       "      <td>5</td>\n",
       "      <td>35</td>\n",
       "      <td>60</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>40</td>\n",
       "      <td>50</td>\n",
       "      <td>12</td>\n",
       "      <td>50</td>\n",
       "      <td>100</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 57 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   raisedhands  VisITedResources  AnnouncementsView  Discussion  \\\n",
       "0           15                16                  2          20   \n",
       "1           20                20                  3          25   \n",
       "2           10                 7                  0          30   \n",
       "3           30                25                  5          35   \n",
       "4           40                50                 12          50   \n",
       "\n",
       "   DiscussionPlusVisit  gender_F  gender_M  NationalITy_Egypt  \\\n",
       "0                   36         0         1                  0   \n",
       "1                   45         0         1                  0   \n",
       "2                   37         0         1                  0   \n",
       "3                   60         0         1                  0   \n",
       "4                  100         0         1                  0   \n",
       "\n",
       "   NationalITy_Iran  NationalITy_Iraq             ...              Semester_F  \\\n",
       "0                 0                 0             ...                       1   \n",
       "1                 0                 0             ...                       1   \n",
       "2                 0                 0             ...                       1   \n",
       "3                 0                 0             ...                       1   \n",
       "4                 0                 0             ...                       1   \n",
       "\n",
       "   Semester_S  Relation_Father  Relation_Mum  ParentAnsweringSurvey_No  \\\n",
       "0           0                1             0                         0   \n",
       "1           0                1             0                         0   \n",
       "2           0                1             0                         1   \n",
       "3           0                1             0                         1   \n",
       "4           0                1             0                         1   \n",
       "\n",
       "   ParentAnsweringSurvey_Yes  ParentschoolSatisfaction_Bad  \\\n",
       "0                          1                             0   \n",
       "1                          1                             0   \n",
       "2                          0                             1   \n",
       "3                          0                             1   \n",
       "4                          0                             1   \n",
       "\n",
       "   ParentschoolSatisfaction_Good  StudentAbsenceDays_Above-7  \\\n",
       "0                              1                           0   \n",
       "1                              1                           0   \n",
       "2                              0                           1   \n",
       "3                              0                           1   \n",
       "4                              0                           1   \n",
       "\n",
       "   StudentAbsenceDays_Under-7  \n",
       "0                           1  \n",
       "1                           1  \n",
       "2                           0  \n",
       "3                           0  \n",
       "4                           0  \n",
       "\n",
       "[5 rows x 57 columns]"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Feature Engineering - 3\n",
    "df3['DiscussionPlusVisit'] = df3['Discussion'] + df3['VisITedResources']\n",
    "\n",
    "X3 = df3.drop('Class',axis = 1)\n",
    "Y3 = df3['Class']\n",
    "X3 = X3.drop('SectionID', axis = 1)#班级\n",
    "X3 = X3.drop('StageID', axis = 1)#学校级别\n",
    "X3 = X3.drop('GradeID', axis = 1)#年级\n",
    "X3 = pd.get_dummies(X3)\n",
    "\n",
    "X3.head(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.7395833333333334"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X3_train, X3_test, y3_train, y3_test = train_test_split(X3,Y3, test_size = 0.2,random_state = 10)\n",
    "Logit = LogisticRegression()\n",
    "Logit.fit(X3_train, y3_train)\n",
    "Predict = Logit.predict(X3_test)\n",
    "Score = accuracy_score(y3_test, Predict)\n",
    "Score"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
